[
  {
    "name": "abs",
    "summary": "Compute the absolute value of a number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const myAngle = -120\n\nconst sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([8, 0], %)\n  |> angledLine({ angle: abs(myAngle), length: 5 }, %)\n  |> line([-5, 0], %)\n  |> angledLine({ angle: myAngle, length: 5 }, %)\n  |> close(%)\n\nconst baseExtrusion = extrude(5, sketch001)"
    ]
  },
  {
    "name": "acos",
    "summary": "Compute the arccosine of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: toDegrees(acos(0.5)),\n       length: 10\n     }, %)\n  |> line([5, 0], %)\n  |> lineTo([12, 0], %)\n  |> close(%)\n\nconst extrude001 = extrude(5, sketch001)"
    ]
  },
  {
    "name": "angleToMatchLengthX",
    "summary": "Compute the angle (in degrees) in o",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      },
      {
        "name": "to",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([2, 5], %, $seg01)\n  |> angledLineToX([-angleToMatchLengthX(seg01, 7, %), 10], %)\n  |> close(%)\n\nconst extrusion = extrude(5, sketch001)"
    ]
  },
  {
    "name": "angleToMatchLengthY",
    "summary": "Returns the angle to match the given length for y.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      },
      {
        "name": "to",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([1, 2], %, $seg01)\n  |> angledLine({\n       angle: angleToMatchLengthY(seg01, 15, %),\n       length: 5\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst extrusion = extrude(5, sketch001)"
    ]
  },
  {
    "name": "angledLine",
    "summary": "Draw a line segment relative to the current origin using the polar",
    "description": "measure of some angle and distance.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineData",
        "schema": {
          "description": "Data to draw an angled line.",
          "anyOf": [
            {
              "description": "An angle and length with explicitly named parameters",
              "type": "object",
              "required": [
                "angle",
                "length"
              ],
              "properties": {
                "angle": {
                  "description": "The angle of the line (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "length": {
                  "description": "The length of the line.",
                  "type": "number",
                  "format": "double"
                }
              }
            },
            {
              "description": "An angle and length given as a pair",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> yLineTo(15, %)\n  |> angledLine({ angle: 30, length: 15 }, %)\n  |> line([8, -10], %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "angledLineOfXLength",
    "summary": "Create a line segment from the current 2-dimensional sketch origin",
    "description": "along some angle (in degrees) for some relative length in the 'x' dimension.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineData",
        "schema": {
          "description": "Data to draw an angled line.",
          "anyOf": [
            {
              "description": "An angle and length with explicitly named parameters",
              "type": "object",
              "required": [
                "angle",
                "length"
              ],
              "properties": {
                "angle": {
                  "description": "The angle of the line (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "length": {
                  "description": "The length of the line.",
                  "type": "number",
                  "format": "double"
                }
              }
            },
            {
              "description": "An angle and length given as a pair",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLineOfXLength({ angle: 45, length: 10 }, %, $edge1)\n  |> angledLineOfXLength({ angle: -15, length: 20 }, %, $edge2)\n  |> line([0, -5], %)\n  |> close(%, $edge3)\n\nconst extrusion = extrude(10, sketch001)"
    ]
  },
  {
    "name": "angledLineOfYLength",
    "summary": "Create a line segment from the current 2-dimensional sketch origin",
    "description": "along some angle (in degrees) for some relative length in the 'y' dimension.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineData",
        "schema": {
          "description": "Data to draw an angled line.",
          "anyOf": [
            {
              "description": "An angle and length with explicitly named parameters",
              "type": "object",
              "required": [
                "angle",
                "length"
              ],
              "properties": {
                "angle": {
                  "description": "The angle of the line (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "length": {
                  "description": "The length of the line.",
                  "type": "number",
                  "format": "double"
                }
              }
            },
            {
              "description": "An angle and length given as a pair",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> angledLineOfYLength({ angle: 45, length: 10 }, %)\n  |> line([0, 10], %)\n  |> angledLineOfYLength({ angle: 135, length: 10 }, %)\n  |> line([-10, 0], %)\n  |> line([0, -30], %)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "angledLineThatIntersects",
    "summary": "Draw an angled line from the current origin, constructing a line segment",
    "description": "such that the newly created line intersects the desired target line segment.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineThatIntersectsData",
        "schema": {
          "description": "Data for drawing an angled line that intersects with a given line.",
          "type": "object",
          "required": [
            "angle",
            "intersectTag"
          ],
          "properties": {
            "angle": {
              "description": "The angle of the line.",
              "type": "number",
              "format": "double"
            },
            "intersectTag": {
              "description": "The tag of the line to intersect with.",
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "offset": {
              "description": "The offset from the intersecting line.",
              "type": "number",
              "format": "double",
              "nullable": true
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> lineTo([5, 10], %)\n  |> lineTo([-10, 10], %, $lineToIntersect)\n  |> lineTo([0, 20], %)\n  |> angledLineThatIntersects({\n       angle: 80,\n       intersectTag: lineToIntersect,\n       offset: 10\n     }, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "angledLineToX",
    "summary": "Create a line segment from the current 2-dimensional sketch origin",
    "description": "along some angle (in degrees) for some length, ending at the provided value in the 'x' dimension.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineToData",
        "schema": {
          "description": "Data to draw an angled line to a point.",
          "type": "object",
          "required": [
            "angle",
            "to"
          ],
          "properties": {
            "angle": {
              "description": "The angle of the line.",
              "type": "number",
              "format": "double"
            },
            "to": {
              "description": "The point to draw to.",
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLineToX({ angle: 30, to: 10 }, %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "angledLineToY",
    "summary": "Create a line segment from the current 2-dimensional sketch origin",
    "description": "along some angle (in degrees) for some length, ending at the provided value in the 'y' dimension.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "AngledLineToData",
        "schema": {
          "description": "Data to draw an angled line to a point.",
          "type": "object",
          "required": [
            "angle",
            "to"
          ],
          "properties": {
            "angle": {
              "description": "The angle of the line.",
              "type": "number",
              "format": "double"
            },
            "to": {
              "description": "The point to draw to.",
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLineToY({ angle: 60, to: 20 }, %)\n  |> line([-20, 0], %)\n  |> angledLineToY({ angle: 70, to: 10 }, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "arc",
    "summary": "Starting at the current sketch's origin, draw a curved line segment along",
    "description": "an imaginary circle of the specified radius.\nThe arc is constructed such that the current position of the sketch is placed along an imaginary circle of the specified radius, at angleStart degrees. The resulting arc is the segment of the imaginary circle from that origin point to angleEnd, radius away from the center of the imaginary circle.\nUnless this makes a lot of sense and feels like what you're looking for to construct your shape, you're likely looking for tangentialArc.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "ArcData",
        "schema": {
          "description": "Data to draw an arc.",
          "anyOf": [
            {
              "description": "Angles and radius with an optional tag.",
              "type": "object",
              "required": [
                "angleEnd",
                "angleStart",
                "radius"
              ],
              "properties": {
                "angleEnd": {
                  "description": "The end angle.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "The start angle.",
                  "type": "number",
                  "format": "double"
                },
                "radius": {
                  "description": "The radius.",
                  "type": "number",
                  "format": "double"
                }
              }
            },
            {
              "description": "Center, to and radius with an optional tag.",
              "type": "object",
              "required": [
                "center",
                "radius",
                "to"
              ],
              "properties": {
                "center": {
                  "description": "The center.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "radius": {
                  "description": "The radius.",
                  "type": "number",
                  "format": "double"
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> arc({\n       angleStart: 0,\n       angleEnd: 280,\n       radius: 16\n     }, %)\n  |> close(%)"
    ]
  },
  {
    "name": "asin",
    "summary": "Compute the arcsine of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: toDegrees(asin(0.5)),\n       length: 20\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst extrude001 = extrude(5, sketch001)"
    ]
  },
  {
    "name": "assert",
    "summary": "Check a value at runtime, and raise an error if the argument provided",
    "description": "is false.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "bool",
        "schema": {
          "type": "boolean"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const myVar = true\nassert(myVar, \"should always be true\")"
    ]
  },
  {
    "name": "assertEqual",
    "summary": "Check that a numerical value equals another at runtime,",
    "description": "otherwise raise an error.",
    "tags": [],
    "args": [
      {
        "name": "left",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "right",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "epsilon",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "let n = 1.0285\nlet o = 1.0286\nassertEqual(n, o, 0.01, \"n is within the given tolerance for o\")"
    ]
  },
  {
    "name": "assertGreaterThan",
    "summary": "Check that a numerical value is greater than another at runtime,",
    "description": "otherwise raise an error.",
    "tags": [],
    "args": [
      {
        "name": "left",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "right",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "assertGreaterThan(2, 1, \"2 is greater than 1\")"
    ]
  },
  {
    "name": "assertGreaterThanOrEq",
    "summary": "Check that a numerical value is greater than or equal to another at runtime,",
    "description": "otherwise raise an error.",
    "tags": [],
    "args": [
      {
        "name": "left",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "right",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "assertGreaterThanOrEq(2, 1, \"2 is greater than 1\")\nassertGreaterThanOrEq(1, 1, \"1 is equal to 1\")"
    ]
  },
  {
    "name": "assertLessThan",
    "summary": "Check that a numerical value is less than to another at runtime,",
    "description": "otherwise raise an error.",
    "tags": [],
    "args": [
      {
        "name": "left",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "right",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "assertLessThan(1, 2, \"1 is less than 2\")"
    ]
  },
  {
    "name": "assertLessThanOrEq",
    "summary": "Check that a numerical value is less than or equal to another at runtime,",
    "description": "otherwise raise an error.",
    "tags": [],
    "args": [
      {
        "name": "left",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "right",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "message",
        "type": "string",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "type": "null"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "assertLessThanOrEq(1, 2, \"1 is less than 2\")\nassertLessThanOrEq(1, 1, \"1 is equal to 1\")"
    ]
  },
  {
    "name": "atan",
    "summary": "Compute the arctangent of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: toDegrees(atan(1.25)),\n       length: 20\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst extrude001 = extrude(5, sketch001)"
    ]
  },
  {
    "name": "bezierCurve",
    "summary": "Draw a smooth, continuous, curved line segment from the current origin to",
    "description": "the desired (x, y), using a number of control points to shape the curve's shape.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "BezierData",
        "schema": {
          "description": "Data to draw a bezier curve.",
          "type": "object",
          "required": [
            "control1",
            "control2",
            "to"
          ],
          "properties": {
            "control1": {
              "description": "The first control point.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            },
            "control2": {
              "description": "The second control point.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            },
            "to": {
              "description": "The to point.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 10], %)\n  |> bezierCurve({\n       to: [10, 10],\n       control1: [5, 0],\n       control2: [5, 10]\n     }, %)\n  |> lineTo([10, 0], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "ceil",
    "summary": "Compute the smallest integer greater than or equal to a number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> lineTo([12, 10], %)\n  |> line([ceil(7.02986), 0], %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst extrude001 = extrude(5, sketch001)"
    ]
  },
  {
    "name": "chamfer",
    "summary": "Cut a straight transitional edge along a tagged path.",
    "description": "Chamfer is similar in function and use to a fillet, except a fillet will blend the transition along an edge, rather than cut a sharp, straight transitional edge.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "ChamferData",
        "schema": {
          "description": "Data for chamfers.",
          "type": "object",
          "required": [
            "length",
            "tags"
          ],
          "properties": {
            "length": {
              "description": "The length of the chamfer.",
              "type": "number",
              "format": "double"
            },
            "tags": {
              "description": "The tags of the paths you want to chamfer.",
              "type": "array",
              "items": {
                "description": "A tag or a uuid of an edge.",
                "anyOf": [
                  {
                    "description": "A uuid of an edge.",
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "description": "A tag of an edge.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group",
        "type": "ExtrudeGroup",
        "schema": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const width = 20\nconst length = 10\nconst thickness = 1\nconst chamferLength = 2\n\nconst mountingPlateSketch = startSketchOn(\"XY\")\n  |> startProfileAt([-width / 2, -length / 2], %)\n  |> lineTo([width / 2, -length / 2], %, $edge1)\n  |> lineTo([width / 2, length / 2], %, $edge2)\n  |> lineTo([-width / 2, length / 2], %, $edge3)\n  |> close(%, $edge4)\n\nconst mountingPlate = extrude(thickness, mountingPlateSketch)\n  |> chamfer({\n       length: chamferLength,\n       tags: [\n         getNextAdjacentEdge(edge1),\n         getNextAdjacentEdge(edge2),\n         getNextAdjacentEdge(edge3),\n         getNextAdjacentEdge(edge4)\n       ]\n     }, %)"
    ]
  },
  {
    "name": "circle",
    "summary": "Construct a 2-dimensional circle, of the specified radius, centered at",
    "description": "the provided (x, y) origin point.",
    "tags": [],
    "args": [
      {
        "name": "center",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "radius",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_surface_or_group",
        "type": "SketchSurfaceOrGroup",
        "schema": {
          "description": "A sketch surface or a sketch group.",
          "anyOf": [
            {
              "description": "A sketch group type.",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            {
              "description": "A sketch group is a collection of paths.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"-XZ\")\n  |> circle([0, 0], 10, %)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([-15, 0], %)\n  |> line([30, 0], %)\n  |> line([0, 30], %)\n  |> line([-30, 0], %)\n  |> close(%)\n  |> hole(circle([0, 15], 5, %), %)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "close",
    "summary": "Construct a line segment from the current origin back to the profile's",
    "description": "origin, ensuring the resulting 2-dimensional sketch is not open-ended.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 10], %)\n  |> line([10, 0], %)\n  |> close(%)\n  |> extrude(10, %)",
      "const exampleSketch = startSketchOn('-XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "cm",
    "summary": "Centimeters conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to centimeters.\nFor example, if the current project uses inches, this function will return `0.393701`. If the current project uses millimeters, this function will return `10`. If the current project uses centimeters, this function will return `1`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * cm()` is more readable that your intent is \"I want 10 centimeters\" than `10 * 10`, if the project settings are in millimeters.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * cm()"
    ]
  },
  {
    "name": "cos",
    "summary": "Compute the cosine of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 30,\n       length: 3 / cos(toRadians(30))\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "e",
    "summary": "Return the value of Euler’s number `e`.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 30, length: 2 * e() ^ 2 }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "extrude",
    "summary": "Extend a 2-dimensional sketch through a third dimension in order to",
    "description": "create new 3-dimensional volume, or if extruded into an existing volume, cut into an existing solid.",
    "tags": [],
    "args": [
      {
        "name": "length",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group_set",
        "type": "SketchGroupSet",
        "schema": {
          "description": "A sketch group or a group of sketch groups.",
          "oneOf": [
            {
              "description": "A sketch group is a collection of paths.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "id",
                                "on",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "id": {
                                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "on": {
                                  "description": "What the sketch is on (can be a plane or a face).",
                                  "$ref": "#/components/schemas/SketchSurface"
                                },
                                "start": {
                                  "description": "The starting path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "tags": {
                                  "description": "Tag identifiers that have been declared in this sketch group.",
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "object",
                                    "required": [
                                      "__meta",
                                      "value"
                                    ],
                                    "properties": {
                                      "__meta": {
                                        "type": "array",
                                        "items": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        }
                                      },
                                      "info": {
                                        "description": "Engine information for a tag.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sketchGroup"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the tagged object.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "path": {
                                            "description": "The path the tag is on.",
                                            "type": "object",
                                            "required": [
                                              "__geoMeta",
                                              "from",
                                              "to"
                                            ],
                                            "properties": {
                                              "__geoMeta": {
                                                "description": "Metadata.",
                                                "type": "object",
                                                "required": [
                                                  "id",
                                                  "sourceRange"
                                                ],
                                                "properties": {
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  }
                                                }
                                              },
                                              "from": {
                                                "description": "The from point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag of the path.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "to": {
                                                "description": "The to point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "sketchGroup": {
                                            "description": "The sketch group the tag is on.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "surface": {
                                            "description": "The surface information for the tag.",
                                            "oneOf": [
                                              {
                                                "description": "An extrude plane.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudePlane"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "An extruded arc.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudeArc"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the chamfer surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "chamfer"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the fillet surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "fillet"
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "nullable": true
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "value": {
                                  "description": "The paths in the sketch group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A path.",
                                    "oneOf": [
                                      {
                                        "description": "A path that goes to a point.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "ToPoint"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment that goes to a point",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArcTo"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A path that is horizontal.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type",
                                          "x"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Horizontal"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double"
                                          }
                                        }
                                      },
                                      {
                                        "description": "An angled line to.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "AngledLineTo"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          },
                                          "y": {
                                            "description": "The y coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          }
                                        }
                                      },
                                      {
                                        "description": "A base path.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Base"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroup"
                  ]
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "A sketch group is a collection of paths.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "on",
                  "start",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "on": {
                    "description": "What the sketch is on (can be a plane or a face).",
                    "oneOf": [
                      {
                        "description": "A plane.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "origin",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "origin": {
                            "description": "Origin of the plane.",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "plane"
                            ]
                          },
                          "value": {
                            "description": "Type for a plane.",
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "XY",
                                  "XZ",
                                  "YZ"
                                ]
                              },
                              {
                                "description": "A custom plane.",
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              }
                            ]
                          },
                          "xAxis": {
                            "description": "What should the plane’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the plane’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      },
                      {
                        "description": "A face.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "extrudeGroup",
                          "id",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "extrudeGroup": {
                            "description": "The extrude group the face is on.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "height",
                              "id",
                              "sketchGroup",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "description": "Metadata.",
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "edgeCuts": {
                                "description": "Chamfers or fillets on this extrude group.",
                                "type": "array",
                                "items": {
                                  "description": "A fillet or a chamfer.",
                                  "oneOf": [
                                    {
                                      "description": "A fillet.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "radius",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "radius": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "A chamfer.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "length",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "length": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "endCapId": {
                                "description": "The id of the extrusion end cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "height": {
                                "description": "The height of the extrude group.",
                                "type": "number",
                                "format": "double"
                              },
                              "id": {
                                "description": "The id of the extrude group.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sketchGroup": {
                                "description": "The sketch group.",
                                "$ref": "#/components/schemas/SketchGroup"
                              },
                              "startCapId": {
                                "description": "The id of the extrusion start cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "value": {
                                "description": "The extrude surfaces.",
                                "type": "array",
                                "items": {
                                  "description": "An extrude surface.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the face.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "face"
                            ]
                          },
                          "value": {
                            "description": "The tag of the face.",
                            "type": "string"
                          },
                          "xAxis": {
                            "description": "What should the face’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the face’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "start": {
                    "description": "The starting path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "tags": {
                    "description": "Tag identifiers that have been declared in this sketch group.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "description": "The paths in the sketch group.",
                    "type": "array",
                    "items": {
                      "description": "A path.",
                      "oneOf": [
                        {
                          "description": "A path that goes to a point.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ToPoint"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment that goes to a point",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArcTo"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A path that is horizontal.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type",
                            "x"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Horizontal"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        {
                          "description": "An angled line to.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "AngledLineTo"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            },
                            "y": {
                              "description": "The y coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            }
                          }
                        },
                        {
                          "description": "A base path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Base"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroupSet",
      "schema": {
        "description": "A extrude group or a group of extrude groups.",
        "oneOf": [
          {
            "description": "An extrude group is a collection of extrude surfaces.",
            "type": "object",
            "required": [
              "__meta",
              "height",
              "id",
              "sketchGroup",
              "type",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this extrude group.",
                "type": "array",
                "items": {
                  "description": "A fillet or a chamfer.",
                  "oneOf": [
                    {
                      "description": "A fillet.",
                      "type": "object",
                      "required": [
                        "edgeId",
                        "id",
                        "radius",
                        "type"
                      ],
                      "properties": {
                        "edgeId": {
                          "description": "The engine id of the edge to fillet.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the engine command that called this fillet.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "radius": {
                          "type": "number",
                          "format": "double"
                        },
                        "tag": {
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A chamfer.",
                      "type": "object",
                      "required": [
                        "edgeId",
                        "id",
                        "length",
                        "type"
                      ],
                      "properties": {
                        "edgeId": {
                          "description": "The engine id of the edge to chamfer.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the engine command that called this chamfer.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "length": {
                          "type": "number",
                          "format": "double"
                        },
                        "tag": {
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "height": {
                "description": "The height of the extrude group.",
                "type": "number",
                "format": "double"
              },
              "id": {
                "description": "The id of the extrude group.",
                "type": "string",
                "format": "uuid"
              },
              "sketchGroup": {
                "description": "The sketch group.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "on",
                  "start",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "on": {
                    "description": "What the sketch is on (can be a plane or a face).",
                    "oneOf": [
                      {
                        "description": "A plane.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "origin",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "origin": {
                            "description": "Origin of the plane.",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "plane"
                            ]
                          },
                          "value": {
                            "description": "Type for a plane.",
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "XY",
                                  "XZ",
                                  "YZ"
                                ]
                              },
                              {
                                "description": "A custom plane.",
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              }
                            ]
                          },
                          "xAxis": {
                            "description": "What should the plane’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the plane’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      },
                      {
                        "description": "A face.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "extrudeGroup",
                          "id",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "extrudeGroup": {
                            "description": "The extrude group the face is on.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "height",
                              "id",
                              "sketchGroup",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "description": "Metadata.",
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "edgeCuts": {
                                "description": "Chamfers or fillets on this extrude group.",
                                "type": "array",
                                "items": {
                                  "description": "A fillet or a chamfer.",
                                  "oneOf": [
                                    {
                                      "description": "A fillet.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "radius",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "radius": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "A chamfer.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "length",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "length": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "endCapId": {
                                "description": "The id of the extrusion end cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "height": {
                                "description": "The height of the extrude group.",
                                "type": "number",
                                "format": "double"
                              },
                              "id": {
                                "description": "The id of the extrude group.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sketchGroup": {
                                "description": "The sketch group.",
                                "$ref": "#/components/schemas/SketchGroup"
                              },
                              "startCapId": {
                                "description": "The id of the extrusion start cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "value": {
                                "description": "The extrude surfaces.",
                                "type": "array",
                                "items": {
                                  "description": "An extrude surface.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the face.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "face"
                            ]
                          },
                          "value": {
                            "description": "The tag of the face.",
                            "type": "string"
                          },
                          "xAxis": {
                            "description": "What should the face’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the face’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "start": {
                    "description": "The starting path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "tags": {
                    "description": "Tag identifiers that have been declared in this sketch group.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "description": "The paths in the sketch group.",
                    "type": "array",
                    "items": {
                      "description": "A path.",
                      "oneOf": [
                        {
                          "description": "A path that goes to a point.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ToPoint"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment that goes to a point",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArcTo"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A path that is horizontal.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type",
                            "x"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Horizontal"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        {
                          "description": "An angled line to.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "AngledLineTo"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            },
                            "y": {
                              "description": "The y coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            }
                          }
                        },
                        {
                          "description": "A base path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Base"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "extrudeGroup"
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "description": "An extrude surface.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "description": "An extrude group is a collection of extrude surfaces.",
              "type": "object",
              "required": [
                "__meta",
                "height",
                "id",
                "sketchGroup",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this extrude group.",
                  "type": "array",
                  "items": {
                    "description": "A fillet or a chamfer.",
                    "oneOf": [
                      {
                        "description": "A fillet.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "radius",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "radius": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A chamfer.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "length",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "length": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "height": {
                  "description": "The height of the extrude group.",
                  "type": "number",
                  "format": "double"
                },
                "id": {
                  "description": "The id of the extrude group.",
                  "type": "string",
                  "format": "uuid"
                },
                "sketchGroup": {
                  "description": "The sketch group.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "on",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "on": {
                      "description": "What the sketch is on (can be a plane or a face).",
                      "oneOf": [
                        {
                          "description": "A plane.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "origin",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "origin": {
                              "description": "Origin of the plane.",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "plane"
                              ]
                            },
                            "value": {
                              "description": "Type for a plane.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "XY",
                                    "XZ",
                                    "YZ"
                                  ]
                                },
                                {
                                  "description": "A custom plane.",
                                  "type": "string",
                                  "enum": [
                                    "Custom"
                                  ]
                                }
                              ]
                            },
                            "xAxis": {
                              "description": "What should the plane’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the plane’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        },
                        {
                          "description": "A face.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "extrudeGroup",
                            "id",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "extrudeGroup": {
                              "description": "The extrude group the face is on.",
                              "$ref": "#/components/schemas/ExtrudeGroup"
                            },
                            "id": {
                              "description": "The id of the face.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "face"
                              ]
                            },
                            "value": {
                              "description": "The tag of the face.",
                              "type": "string"
                            },
                            "xAxis": {
                              "description": "What should the face’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the face’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    "start": {
                      "description": "The starting path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "tags": {
                      "description": "Tag identifiers that have been declared in this sketch group.",
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "__meta",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "info": {
                            "description": "Engine information for a tag.",
                            "type": "object",
                            "required": [
                              "id",
                              "sketchGroup"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the tagged object.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "path": {
                                "description": "The path the tag is on.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                },
                                "nullable": true
                              },
                              "sketchGroup": {
                                "description": "The sketch group the tag is on.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "surface": {
                                "description": "The surface information for the tag.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "value": {
                      "description": "The paths in the sketch group.",
                      "type": "array",
                      "items": {
                        "description": "A path.",
                        "oneOf": [
                          {
                            "description": "A path that goes to a point.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "ToPoint"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment that goes to a point",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArcTo"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A path that is horizontal.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type",
                              "x"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Horizontal"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          {
                            "description": "An angled line to.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "AngledLineTo"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              },
                              "y": {
                                "description": "The y coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              }
                            }
                          },
                          {
                            "description": "A base path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Base"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "description": "An extrude surface.",
                    "oneOf": [
                      {
                        "description": "An extrude plane.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudePlane"
                            ]
                          }
                        }
                      },
                      {
                        "description": "An extruded arc.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudeArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the chamfer surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the fillet surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "extrudeGroups"
                ]
              }
            }
          }
        ]
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const example = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> arc({\n       angleStart: 120,\n       angleEnd: 0,\n       radius: 5\n     }, %)\n  |> line([5, 0], %)\n  |> line([0, 10], %)\n  |> bezierCurve({\n       control1: [-10, 0],\n       control2: [2, 10],\n       to: [-5, 10]\n     }, %)\n  |> line([-5, -2], %)\n  |> close(%)\n  |> extrude(10, %)",
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([-10, 0], %)\n  |> arc({\n       angleStart: 120,\n       angleEnd: -60,\n       radius: 5\n     }, %)\n  |> line([10, 0], %)\n  |> line([5, 0], %)\n  |> bezierCurve({\n       control1: [-3, 0],\n       control2: [2, 10],\n       to: [-5, 10]\n     }, %)\n  |> line([-4, 10], %)\n  |> line([-5, -2], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "fillet",
    "summary": "Blend a transitional edge along a tagged path, smoothing the sharp edge.",
    "description": "Fillet is similar in function and use to a chamfer, except a chamfer will cut a sharp transition along an edge while fillet will smoothly blend the transition.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "FilletData",
        "schema": {
          "description": "Data for fillets.",
          "type": "object",
          "required": [
            "radius",
            "tags"
          ],
          "properties": {
            "radius": {
              "description": "The radius of the fillet.",
              "type": "number",
              "format": "double"
            },
            "tags": {
              "description": "The tags of the paths you want to fillet.",
              "type": "array",
              "items": {
                "description": "A tag or a uuid of an edge.",
                "anyOf": [
                  {
                    "description": "A uuid of an edge.",
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "description": "A tag of an edge.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            },
            "tolerance": {
              "description": "The tolerance for the fillet.",
              "default": null,
              "type": "number",
              "format": "double",
              "nullable": true
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group",
        "type": "ExtrudeGroup",
        "schema": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const width = 20\nconst length = 10\nconst thickness = 1\nconst filletRadius = 2\n\nconst mountingPlateSketch = startSketchOn(\"XY\")\n  |> startProfileAt([-width / 2, -length / 2], %)\n  |> lineTo([width / 2, -length / 2], %, $edge1)\n  |> lineTo([width / 2, length / 2], %, $edge2)\n  |> lineTo([-width / 2, length / 2], %, $edge3)\n  |> close(%, $edge4)\n\nconst mountingPlate = extrude(thickness, mountingPlateSketch)\n  |> fillet({\n       radius: filletRadius,\n       tags: [\n         getNextAdjacentEdge(edge1),\n         getNextAdjacentEdge(edge2),\n         getNextAdjacentEdge(edge3),\n         getNextAdjacentEdge(edge4)\n       ]\n     }, %)",
      "const width = 20\nconst length = 10\nconst thickness = 1\nconst filletRadius = 1\n\nconst mountingPlateSketch = startSketchOn(\"XY\")\n  |> startProfileAt([-width / 2, -length / 2], %)\n  |> lineTo([width / 2, -length / 2], %, $edge1)\n  |> lineTo([width / 2, length / 2], %, $edge2)\n  |> lineTo([-width / 2, length / 2], %, $edge3)\n  |> close(%, $edge4)\n\nconst mountingPlate = extrude(thickness, mountingPlateSketch)\n  |> fillet({\n       radius: filletRadius,\n       tolerance: 0.000001,\n       tags: [\n         getNextAdjacentEdge(edge1),\n         getNextAdjacentEdge(edge2),\n         getNextAdjacentEdge(edge3),\n         getNextAdjacentEdge(edge4)\n       ]\n     }, %)"
    ]
  },
  {
    "name": "floor",
    "summary": "Compute the largest integer less than or equal to a number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> lineTo([12, 10], %)\n  |> line([floor(7.02986), 0], %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst extrude001 = extrude(5, sketch001)"
    ]
  },
  {
    "name": "ft",
    "summary": "Feet conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to feet.\nFor example, if the current project uses inches, this function will return `12`. If the current project uses millimeters, this function will return `304.8`. If the current project uses feet, this function will return `1`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * ft()` is more readable that your intent is \"I want 10 feet\" than `10 * 304.8`, if the project settings are in millimeters.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * ft()"
    ]
  },
  {
    "name": "getNextAdjacentEdge",
    "summary": "Get the next adjacent edge to the edge given.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "type": "string",
        "format": "uuid"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %)\n  |> angledLine({ angle: 120, length: 10 }, %)\n  |> line([-10, 0], %)\n  |> angledLine({ angle: 240, length: 10 }, %, $referenceEdge)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)\n  |> fillet({\n       radius: 3,\n       tags: [getNextAdjacentEdge(referenceEdge)]\n     }, %)"
    ]
  },
  {
    "name": "getOppositeEdge",
    "summary": "Get the opposite edge to the edge given.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "type": "string",
        "format": "uuid"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %)\n  |> angledLine({ angle: 120, length: 10 }, %)\n  |> line([-10, 0], %)\n  |> angledLine({ angle: 240, length: 10 }, %, $referenceEdge)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)\n  |> fillet({\n       radius: 3,\n       tags: [getOppositeEdge(referenceEdge)]\n     }, %)"
    ]
  },
  {
    "name": "getPreviousAdjacentEdge",
    "summary": "Get the previous adjacent edge to the edge given.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "type": "string",
        "format": "uuid"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %)\n  |> angledLine({ angle: 120, length: 10 }, %)\n  |> line([-10, 0], %)\n  |> angledLine({ angle: 240, length: 10 }, %, $referenceEdge)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)\n  |> fillet({\n       radius: 3,\n       tags: [getPreviousAdjacentEdge(referenceEdge)]\n     }, %)"
    ]
  },
  {
    "name": "helix",
    "summary": "Create a helix on a cylinder.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "HelixData",
        "schema": {
          "description": "Data for helices.",
          "type": "object",
          "required": [
            "angleStart",
            "revolutions"
          ],
          "properties": {
            "angleStart": {
              "description": "Start angle (in degrees).",
              "type": "number",
              "format": "double"
            },
            "ccw": {
              "description": "Is the helix rotation counter clockwise? The default is `false`.",
              "default": false,
              "type": "boolean"
            },
            "length": {
              "description": "Length of the helix. If this argument is not provided, the height of the extrude group is used.",
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "revolutions": {
              "description": "Number of revolutions.",
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group",
        "type": "ExtrudeGroup",
        "schema": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const part001 = startSketchOn('XY')\n  |> circle([5, 5], 10, %)\n  |> extrude(10, %)\n  |> helix({\n       angleStart: 0,\n       ccw: true,\n       revolutions: 16\n     }, %)"
    ]
  },
  {
    "name": "hole",
    "summary": "Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "hole_sketch_group",
        "type": "SketchGroupSet",
        "schema": {
          "description": "A sketch group or a group of sketch groups.",
          "oneOf": [
            {
              "description": "A sketch group is a collection of paths.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "id",
                                "on",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "id": {
                                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "on": {
                                  "description": "What the sketch is on (can be a plane or a face).",
                                  "$ref": "#/components/schemas/SketchSurface"
                                },
                                "start": {
                                  "description": "The starting path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "tags": {
                                  "description": "Tag identifiers that have been declared in this sketch group.",
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "object",
                                    "required": [
                                      "__meta",
                                      "value"
                                    ],
                                    "properties": {
                                      "__meta": {
                                        "type": "array",
                                        "items": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        }
                                      },
                                      "info": {
                                        "description": "Engine information for a tag.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sketchGroup"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the tagged object.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "path": {
                                            "description": "The path the tag is on.",
                                            "type": "object",
                                            "required": [
                                              "__geoMeta",
                                              "from",
                                              "to"
                                            ],
                                            "properties": {
                                              "__geoMeta": {
                                                "description": "Metadata.",
                                                "type": "object",
                                                "required": [
                                                  "id",
                                                  "sourceRange"
                                                ],
                                                "properties": {
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  }
                                                }
                                              },
                                              "from": {
                                                "description": "The from point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag of the path.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "to": {
                                                "description": "The to point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "sketchGroup": {
                                            "description": "The sketch group the tag is on.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "surface": {
                                            "description": "The surface information for the tag.",
                                            "oneOf": [
                                              {
                                                "description": "An extrude plane.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudePlane"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "An extruded arc.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudeArc"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the chamfer surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "chamfer"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the fillet surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "fillet"
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "nullable": true
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "value": {
                                  "description": "The paths in the sketch group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A path.",
                                    "oneOf": [
                                      {
                                        "description": "A path that goes to a point.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "ToPoint"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment that goes to a point",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArcTo"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A path that is horizontal.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type",
                                          "x"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Horizontal"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double"
                                          }
                                        }
                                      },
                                      {
                                        "description": "An angled line to.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "AngledLineTo"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          },
                                          "y": {
                                            "description": "The y coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          }
                                        }
                                      },
                                      {
                                        "description": "A base path.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Base"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroup"
                  ]
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "A sketch group is a collection of paths.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "on",
                  "start",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "on": {
                    "description": "What the sketch is on (can be a plane or a face).",
                    "oneOf": [
                      {
                        "description": "A plane.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "origin",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "origin": {
                            "description": "Origin of the plane.",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "plane"
                            ]
                          },
                          "value": {
                            "description": "Type for a plane.",
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "XY",
                                  "XZ",
                                  "YZ"
                                ]
                              },
                              {
                                "description": "A custom plane.",
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              }
                            ]
                          },
                          "xAxis": {
                            "description": "What should the plane’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the plane’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      },
                      {
                        "description": "A face.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "extrudeGroup",
                          "id",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "extrudeGroup": {
                            "description": "The extrude group the face is on.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "height",
                              "id",
                              "sketchGroup",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "description": "Metadata.",
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "edgeCuts": {
                                "description": "Chamfers or fillets on this extrude group.",
                                "type": "array",
                                "items": {
                                  "description": "A fillet or a chamfer.",
                                  "oneOf": [
                                    {
                                      "description": "A fillet.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "radius",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "radius": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "A chamfer.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "length",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "length": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "endCapId": {
                                "description": "The id of the extrusion end cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "height": {
                                "description": "The height of the extrude group.",
                                "type": "number",
                                "format": "double"
                              },
                              "id": {
                                "description": "The id of the extrude group.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sketchGroup": {
                                "description": "The sketch group.",
                                "$ref": "#/components/schemas/SketchGroup"
                              },
                              "startCapId": {
                                "description": "The id of the extrusion start cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "value": {
                                "description": "The extrude surfaces.",
                                "type": "array",
                                "items": {
                                  "description": "An extrude surface.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the face.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "face"
                            ]
                          },
                          "value": {
                            "description": "The tag of the face.",
                            "type": "string"
                          },
                          "xAxis": {
                            "description": "What should the face’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the face’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "start": {
                    "description": "The starting path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "tags": {
                    "description": "Tag identifiers that have been declared in this sketch group.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "description": "The paths in the sketch group.",
                    "type": "array",
                    "items": {
                      "description": "A path.",
                      "oneOf": [
                        {
                          "description": "A path that goes to a point.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ToPoint"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment that goes to a point",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArcTo"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A path that is horizontal.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type",
                            "x"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Horizontal"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        {
                          "description": "An angled line to.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "AngledLineTo"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            },
                            "y": {
                              "description": "The y coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            }
                          }
                        },
                        {
                          "description": "A base path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Base"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XY')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 5], %)\n  |> line([5, 0], %)\n  |> line([0, -5], %)\n  |> close(%)\n  |> hole(circle([1, 1], .25, %), %)\n  |> hole(circle([1, 4], .25, %), %)\n\nconst example = extrude(1, exampleSketch)",
      "fn squareHoleSketch = () => {\n  const squareSketch = startSketchOn('-XZ')\n    |> startProfileAt([-1, -1], %)\n    |> line([2, 0], %)\n    |> line([0, 2], %)\n    |> line([-2, 0], %)\n    |> close(%)\n  return squareSketch\n}\n\nconst exampleSketch = startSketchOn('-XZ')\n  |> circle([0, 0], 3, %)\n  |> hole(squareHoleSketch(), %)\nconst example = extrude(1, exampleSketch)"
    ]
  },
  {
    "name": "hollow",
    "summary": "Make the inside of a 3D object hollow.",
    "description": "Remove volume from a 3-dimensional shape such that a wall of the provided thickness remains around the exterior of the shape.",
    "tags": [],
    "args": [
      {
        "name": "thickness",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "extrude_group",
        "type": "ExtrudeGroup",
        "schema": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const firstSketch = startSketchOn('XY')\n  |> startProfileAt([-12, 12], %)\n  |> line([24, 0], %)\n  |> line([0, -24], %)\n  |> line([-24, 0], %)\n  |> close(%)\n  |> extrude(6, %)\n  |> hollow(0.25, %)",
      "const firstSketch = startSketchOn('-XZ')\n  |> startProfileAt([-12, 12], %)\n  |> line([24, 0], %)\n  |> line([0, -24], %)\n  |> line([-24, 0], %)\n  |> close(%)\n  |> extrude(6, %)\n  |> hollow(0.5, %)"
    ]
  },
  {
    "name": "import",
    "summary": "Import a CAD file.",
    "description": "For formats lacking unit data (such as STL, OBJ, or PLY files), the default unit of measurement is millimeters. Alternatively you may specify the unit by passing your desired measurement unit in the options parameter. When importing a GLTF file, the bin file will be imported as well. Import paths are relative to the current project directory.\nNote: The import command currently only works when using the native Modeling App.",
    "tags": [],
    "args": [
      {
        "name": "file_path",
        "type": "String",
        "schema": {
          "type": "string"
        },
        "required": true
      },
      {
        "name": "options",
        "type": "ImportFormat",
        "schema": {
          "description": "Import format specifier",
          "oneOf": [
            {
              "description": "Autodesk Filmbox (FBX) format",
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "fbx"
                  ]
                }
              }
            },
            {
              "description": "Binary glTF 2.0. We refer to this as glTF since that is how our customers refer to it, but this can also import binary glTF (glb).",
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "gltf"
                  ]
                }
              }
            },
            {
              "description": "Wavefront OBJ format.",
              "type": "object",
              "required": [
                "type",
                "units"
              ],
              "properties": {
                "coords": {
                  "description": "Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.",
                  "type": "object",
                  "required": [
                    "forward",
                    "up"
                  ],
                  "properties": {
                    "forward": {
                      "description": "Axis the front face of a model looks along.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "up": {
                      "description": "Axis pointing up and away from a model.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    }
                  },
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "obj"
                  ]
                },
                "units": {
                  "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.",
                  "oneOf": [
                    {
                      "description": "Centimeters <https://en.wikipedia.org/wiki/Centimeter>",
                      "type": "string",
                      "enum": [
                        "cm"
                      ]
                    },
                    {
                      "description": "Feet <https://en.wikipedia.org/wiki/Foot_(unit)>",
                      "type": "string",
                      "enum": [
                        "ft"
                      ]
                    },
                    {
                      "description": "Inches <https://en.wikipedia.org/wiki/Inch>",
                      "type": "string",
                      "enum": [
                        "in"
                      ]
                    },
                    {
                      "description": "Meters <https://en.wikipedia.org/wiki/Meter>",
                      "type": "string",
                      "enum": [
                        "m"
                      ]
                    },
                    {
                      "description": "Millimeters <https://en.wikipedia.org/wiki/Millimeter>",
                      "type": "string",
                      "enum": [
                        "mm"
                      ]
                    },
                    {
                      "description": "Yards <https://en.wikipedia.org/wiki/Yard>",
                      "type": "string",
                      "enum": [
                        "yd"
                      ]
                    }
                  ]
                }
              }
            },
            {
              "description": "The PLY Polygon File Format.",
              "type": "object",
              "required": [
                "type",
                "units"
              ],
              "properties": {
                "coords": {
                  "description": "Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.",
                  "type": "object",
                  "required": [
                    "forward",
                    "up"
                  ],
                  "properties": {
                    "forward": {
                      "description": "Axis the front face of a model looks along.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "up": {
                      "description": "Axis pointing up and away from a model.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    }
                  },
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "ply"
                  ]
                },
                "units": {
                  "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.",
                  "oneOf": [
                    {
                      "description": "Centimeters <https://en.wikipedia.org/wiki/Centimeter>",
                      "type": "string",
                      "enum": [
                        "cm"
                      ]
                    },
                    {
                      "description": "Feet <https://en.wikipedia.org/wiki/Foot_(unit)>",
                      "type": "string",
                      "enum": [
                        "ft"
                      ]
                    },
                    {
                      "description": "Inches <https://en.wikipedia.org/wiki/Inch>",
                      "type": "string",
                      "enum": [
                        "in"
                      ]
                    },
                    {
                      "description": "Meters <https://en.wikipedia.org/wiki/Meter>",
                      "type": "string",
                      "enum": [
                        "m"
                      ]
                    },
                    {
                      "description": "Millimeters <https://en.wikipedia.org/wiki/Millimeter>",
                      "type": "string",
                      "enum": [
                        "mm"
                      ]
                    },
                    {
                      "description": "Yards <https://en.wikipedia.org/wiki/Yard>",
                      "type": "string",
                      "enum": [
                        "yd"
                      ]
                    }
                  ]
                }
              }
            },
            {
              "description": "SolidWorks part (SLDPRT) format.",
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sldprt"
                  ]
                }
              }
            },
            {
              "description": "ISO 10303-21 (STEP) format.",
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "step"
                  ]
                }
              }
            },
            {
              "description": "ST**ereo**L**ithography format.",
              "type": "object",
              "required": [
                "type",
                "units"
              ],
              "properties": {
                "coords": {
                  "description": "Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system.",
                  "type": "object",
                  "required": [
                    "forward",
                    "up"
                  ],
                  "properties": {
                    "forward": {
                      "description": "Axis the front face of a model looks along.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "up": {
                      "description": "Axis pointing up and away from a model.",
                      "type": "object",
                      "required": [
                        "axis",
                        "direction"
                      ],
                      "properties": {
                        "axis": {
                          "description": "Axis specifier.",
                          "oneOf": [
                            {
                              "description": "'Y' axis.",
                              "type": "string",
                              "enum": [
                                "y"
                              ]
                            },
                            {
                              "description": "'Z' axis.",
                              "type": "string",
                              "enum": [
                                "z"
                              ]
                            }
                          ]
                        },
                        "direction": {
                          "description": "Specifies which direction the axis is pointing.",
                          "oneOf": [
                            {
                              "description": "Increasing numbers.",
                              "type": "string",
                              "enum": [
                                "positive"
                              ]
                            },
                            {
                              "description": "Decreasing numbers.",
                              "type": "string",
                              "enum": [
                                "negative"
                              ]
                            }
                          ]
                        }
                      }
                    }
                  },
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "stl"
                  ]
                },
                "units": {
                  "description": "The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters.",
                  "oneOf": [
                    {
                      "description": "Centimeters <https://en.wikipedia.org/wiki/Centimeter>",
                      "type": "string",
                      "enum": [
                        "cm"
                      ]
                    },
                    {
                      "description": "Feet <https://en.wikipedia.org/wiki/Foot_(unit)>",
                      "type": "string",
                      "enum": [
                        "ft"
                      ]
                    },
                    {
                      "description": "Inches <https://en.wikipedia.org/wiki/Inch>",
                      "type": "string",
                      "enum": [
                        "in"
                      ]
                    },
                    {
                      "description": "Meters <https://en.wikipedia.org/wiki/Meter>",
                      "type": "string",
                      "enum": [
                        "m"
                      ]
                    },
                    {
                      "description": "Millimeters <https://en.wikipedia.org/wiki/Millimeter>",
                      "type": "string",
                      "enum": [
                        "mm"
                      ]
                    },
                    {
                      "description": "Yards <https://en.wikipedia.org/wiki/Yard>",
                      "type": "string",
                      "enum": [
                        "yd"
                      ]
                    }
                  ]
                }
              }
            }
          ],
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ImportedGeometry",
      "schema": {
        "description": "Data for an imported geometry.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "value"
        ],
        "properties": {
          "__meta": {
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The ID of the imported geometry.",
            "type": "string",
            "format": "uuid"
          },
          "value": {
            "description": "The original file paths.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const model = import(\"tests/inputs/cube.obj\")",
      "const model = import(\"tests/inputs/cube.obj\", { type: \"obj\", units: \"m\" })",
      "const model = import(\"tests/inputs/cube.gltf\")",
      "const model = import(\"tests/inputs/cube.sldprt\")",
      "const model = import(\"tests/inputs/cube.step\")"
    ]
  },
  {
    "name": "inch",
    "summary": "Inches conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to inches.\nFor example, if the current project uses inches, this function will return `1`. If the current project uses millimeters, this function will return `25.4`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * inch()` is more readable that your intent is \"I want 10 inches\" than `10 * 25.4`, if the project settings are in millimeters.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * inch()"
    ]
  },
  {
    "name": "int",
    "summary": "Convert a number to an integer.",
    "description": "Callers should use floor(), ceil(), or other rounding function first if they care about how numbers with fractional parts are converted.  If the number has a fractional part, it's truncated, moving the number towards zero.\nIf the number is NaN or has a magnitude, either positive or negative, that is too large to fit into the internal integer representation, the result is a runtime error.",
    "tags": [
      "convert"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "i64",
      "schema": {
        "type": "integer",
        "format": "int64"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XZ')\n  |> circle([0, 0], 2, %)\nconst extrude001 = extrude(5, sketch001)\n\nconst pattern01 = patternTransform(int(ceil(5 / 2)), (id) => {\n  return { translate: [4 * id, 0, 0] }\n}, extrude001)"
    ]
  },
  {
    "name": "lastSegX",
    "summary": "Extract the 'x' axis value of the last line segment in the provided 2-d",
    "description": "sketch.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([5, 0], %)\n  |> line([20, 5], %)\n  |> line([lastSegX(%), 0], %)\n  |> line([-15, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "lastSegY",
    "summary": "Extract the 'y' axis value of the last line segment in the provided 2-d",
    "description": "sketch.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([5, 0], %)\n  |> line([20, 5], %)\n  |> line([0, lastSegY(%)], %)\n  |> line([-15, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "legAngX",
    "summary": "Compute the angle of the given leg for x.",
    "description": "",
    "tags": [
      "utilities"
    ],
    "args": [
      {
        "name": "hypotenuse",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "leg",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "legAngX(5, 3)"
    ]
  },
  {
    "name": "legAngY",
    "summary": "Compute the angle of the given leg for y.",
    "description": "",
    "tags": [
      "utilities"
    ],
    "args": [
      {
        "name": "hypotenuse",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "leg",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "legAngY(5, 3)"
    ]
  },
  {
    "name": "legLen",
    "summary": "Compute the length of the given leg.",
    "description": "",
    "tags": [
      "utilities"
    ],
    "args": [
      {
        "name": "hypotenuse",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "leg",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "legLen(5, 3)"
    ]
  },
  {
    "name": "line",
    "summary": "Draw a line relative to the current origin to a specified (x, y) away",
    "description": "from the current position.",
    "tags": [],
    "args": [
      {
        "name": "delta",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([25, 15], %)\n  |> line([5, -6], %)\n  |> line([-10, -10], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "lineTo",
    "summary": "Draw a line from the current origin to some absolute (x, y) point.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "to",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> lineTo([10, 0], %)\n  |> lineTo([0, 10], %)\n  |> lineTo([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "ln",
    "summary": "Compute the natural logarithm of the number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([ln(100), 15], %)\n  |> line([5, -6], %)\n  |> line([-10, -10], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "log",
    "summary": "Compute the logarithm of the number with respect to an arbitrary base.",
    "description": "The result might not be correctly rounded owing to implementation details; `log2()` can produce more accurate results for base 2, and `log10()` can produce more accurate results for base 10.",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "base",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([log(100, 5), 0], %)\n  |> line([5, 8], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "log10",
    "summary": "Compute the base 10 logarithm of the number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([log10(100), 0], %)\n  |> line([5, 8], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "log2",
    "summary": "Compute the base 2 logarithm of the number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> line([log2(100), 0], %)\n  |> line([5, 8], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "m",
    "summary": "Meters conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to meters.\nFor example, if the current project uses inches, this function will return `39.3701`. If the current project uses millimeters, this function will return `1000`. If the current project uses meters, this function will return `1`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * m()` is more readable that your intent is \"I want 10 meters\" than `10 * 1000`, if the project settings are in millimeters.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * m()"
    ]
  },
  {
    "name": "max",
    "summary": "Compute the maximum of the given arguments.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "args",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 70,\n       length: max(15, 31, 4, 13, 22)\n     }, %)\n  |> line([20, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "min",
    "summary": "Compute the minimum of the given arguments.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "args",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 70,\n       length: min(15, 31, 4, 13, 22)\n     }, %)\n  |> line([20, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "mm",
    "summary": "Millimeters conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to millimeters.\nFor example, if the current project uses inches, this function will return `(1/25.4)`. If the current project uses millimeters, this function will return `1`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * mm()` is more readable that your intent is \"I want 10 millimeters\" than `10 * (1/25.4)`, if the project settings are in inches.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * mm()"
    ]
  },
  {
    "name": "patternCircular2d",
    "summary": "Repeat a 2-dimensional sketch some number of times along a partial or",
    "description": "complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "CircularPattern2dData",
        "schema": {
          "description": "Data for a circular pattern on a 2D sketch.",
          "type": "object",
          "required": [
            "arcDegrees",
            "center",
            "repetitions",
            "rotateDuplicates"
          ],
          "properties": {
            "arcDegrees": {
              "description": "The arc angle (in degrees) to place the repetitions. Must be greater than 0.",
              "type": "number",
              "format": "double"
            },
            "center": {
              "description": "The center about which to make the pattern. This is a 2D vector.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            },
            "repetitions": {
              "description": "The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once.",
              "type": "integer",
              "format": "uint32",
              "minimum": 0.0
            },
            "rotateDuplicates": {
              "description": "Whether or not to rotate the duplicates as they are copied.",
              "type": "boolean"
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group_set",
        "type": "SketchGroupSet",
        "schema": {
          "description": "A sketch group or a group of sketch groups.",
          "oneOf": [
            {
              "description": "A sketch group is a collection of paths.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "id",
                                "on",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "id": {
                                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "on": {
                                  "description": "What the sketch is on (can be a plane or a face).",
                                  "$ref": "#/components/schemas/SketchSurface"
                                },
                                "start": {
                                  "description": "The starting path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "tags": {
                                  "description": "Tag identifiers that have been declared in this sketch group.",
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "object",
                                    "required": [
                                      "__meta",
                                      "value"
                                    ],
                                    "properties": {
                                      "__meta": {
                                        "type": "array",
                                        "items": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        }
                                      },
                                      "info": {
                                        "description": "Engine information for a tag.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sketchGroup"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the tagged object.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "path": {
                                            "description": "The path the tag is on.",
                                            "type": "object",
                                            "required": [
                                              "__geoMeta",
                                              "from",
                                              "to"
                                            ],
                                            "properties": {
                                              "__geoMeta": {
                                                "description": "Metadata.",
                                                "type": "object",
                                                "required": [
                                                  "id",
                                                  "sourceRange"
                                                ],
                                                "properties": {
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  }
                                                }
                                              },
                                              "from": {
                                                "description": "The from point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag of the path.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "to": {
                                                "description": "The to point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "sketchGroup": {
                                            "description": "The sketch group the tag is on.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "surface": {
                                            "description": "The surface information for the tag.",
                                            "oneOf": [
                                              {
                                                "description": "An extrude plane.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudePlane"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "An extruded arc.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudeArc"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the chamfer surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "chamfer"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the fillet surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "fillet"
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "nullable": true
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "value": {
                                  "description": "The paths in the sketch group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A path.",
                                    "oneOf": [
                                      {
                                        "description": "A path that goes to a point.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "ToPoint"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment that goes to a point",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArcTo"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A path that is horizontal.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type",
                                          "x"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Horizontal"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double"
                                          }
                                        }
                                      },
                                      {
                                        "description": "An angled line to.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "AngledLineTo"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          },
                                          "y": {
                                            "description": "The y coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          }
                                        }
                                      },
                                      {
                                        "description": "A base path.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Base"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroup"
                  ]
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "A sketch group is a collection of paths.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "on",
                  "start",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "on": {
                    "description": "What the sketch is on (can be a plane or a face).",
                    "oneOf": [
                      {
                        "description": "A plane.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "origin",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "origin": {
                            "description": "Origin of the plane.",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "plane"
                            ]
                          },
                          "value": {
                            "description": "Type for a plane.",
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "XY",
                                  "XZ",
                                  "YZ"
                                ]
                              },
                              {
                                "description": "A custom plane.",
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              }
                            ]
                          },
                          "xAxis": {
                            "description": "What should the plane’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the plane’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      },
                      {
                        "description": "A face.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "extrudeGroup",
                          "id",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "extrudeGroup": {
                            "description": "The extrude group the face is on.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "height",
                              "id",
                              "sketchGroup",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "description": "Metadata.",
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "edgeCuts": {
                                "description": "Chamfers or fillets on this extrude group.",
                                "type": "array",
                                "items": {
                                  "description": "A fillet or a chamfer.",
                                  "oneOf": [
                                    {
                                      "description": "A fillet.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "radius",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "radius": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "A chamfer.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "length",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "length": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "endCapId": {
                                "description": "The id of the extrusion end cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "height": {
                                "description": "The height of the extrude group.",
                                "type": "number",
                                "format": "double"
                              },
                              "id": {
                                "description": "The id of the extrude group.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sketchGroup": {
                                "description": "The sketch group.",
                                "$ref": "#/components/schemas/SketchGroup"
                              },
                              "startCapId": {
                                "description": "The id of the extrusion start cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "value": {
                                "description": "The extrude surfaces.",
                                "type": "array",
                                "items": {
                                  "description": "An extrude surface.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the face.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "face"
                            ]
                          },
                          "value": {
                            "description": "The tag of the face.",
                            "type": "string"
                          },
                          "xAxis": {
                            "description": "What should the face’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the face’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "start": {
                    "description": "The starting path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "tags": {
                    "description": "Tag identifiers that have been declared in this sketch group.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "description": "The paths in the sketch group.",
                    "type": "array",
                    "items": {
                      "description": "A path.",
                      "oneOf": [
                        {
                          "description": "A path that goes to a point.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ToPoint"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment that goes to a point",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArcTo"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A path that is horizontal.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type",
                            "x"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Horizontal"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        {
                          "description": "An angled line to.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "AngledLineTo"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            },
                            "y": {
                              "description": "The y coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            }
                          }
                        },
                        {
                          "description": "A base path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Base"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[SketchGroup]",
      "schema": {
        "type": "array",
        "items": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "$ref": "#/components/schemas/SketchGroup"
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([.5, 25], %)\n  |> line([0, 5], %)\n  |> line([-1, 0], %)\n  |> line([0, -5], %)\n  |> close(%)\n  |> patternCircular2d({\n       center: [0, 0],\n       repetitions: 12,\n       arcDegrees: 360,\n       rotateDuplicates: true\n     }, %)\n\nconst example = extrude(1, exampleSketch)"
    ]
  },
  {
    "name": "patternCircular3d",
    "summary": "Repeat a 3-dimensional solid some number of times along a partial or",
    "description": "complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "CircularPattern3dData",
        "schema": {
          "description": "Data for a circular pattern on a 3D model.",
          "type": "object",
          "required": [
            "arcDegrees",
            "axis",
            "center",
            "repetitions",
            "rotateDuplicates"
          ],
          "properties": {
            "arcDegrees": {
              "description": "The arc angle (in degrees) to place the repetitions. Must be greater than 0.",
              "type": "number",
              "format": "double"
            },
            "axis": {
              "description": "The axis around which to make the pattern. This is a 3D vector.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 3,
              "minItems": 3
            },
            "center": {
              "description": "The center about which to make the pattern. This is a 3D vector.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 3,
              "minItems": 3
            },
            "repetitions": {
              "description": "The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once.",
              "type": "integer",
              "format": "uint32",
              "minimum": 0.0
            },
            "rotateDuplicates": {
              "description": "Whether or not to rotate the duplicates as they are copied.",
              "type": "boolean"
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group_set",
        "type": "ExtrudeGroupSet",
        "schema": {
          "description": "A extrude group or a group of extrude groups.",
          "oneOf": [
            {
              "description": "An extrude group is a collection of extrude surfaces.",
              "type": "object",
              "required": [
                "__meta",
                "height",
                "id",
                "sketchGroup",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this extrude group.",
                  "type": "array",
                  "items": {
                    "description": "A fillet or a chamfer.",
                    "oneOf": [
                      {
                        "description": "A fillet.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "radius",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "radius": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A chamfer.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "length",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "length": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "height": {
                  "description": "The height of the extrude group.",
                  "type": "number",
                  "format": "double"
                },
                "id": {
                  "description": "The id of the extrude group.",
                  "type": "string",
                  "format": "uuid"
                },
                "sketchGroup": {
                  "description": "The sketch group.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "on",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "on": {
                      "description": "What the sketch is on (can be a plane or a face).",
                      "oneOf": [
                        {
                          "description": "A plane.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "origin",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "origin": {
                              "description": "Origin of the plane.",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "plane"
                              ]
                            },
                            "value": {
                              "description": "Type for a plane.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "XY",
                                    "XZ",
                                    "YZ"
                                  ]
                                },
                                {
                                  "description": "A custom plane.",
                                  "type": "string",
                                  "enum": [
                                    "Custom"
                                  ]
                                }
                              ]
                            },
                            "xAxis": {
                              "description": "What should the plane’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the plane’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        },
                        {
                          "description": "A face.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "extrudeGroup",
                            "id",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "extrudeGroup": {
                              "description": "The extrude group the face is on.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "height",
                                "id",
                                "sketchGroup",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "edgeCuts": {
                                  "description": "Chamfers or fillets on this extrude group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A fillet or a chamfer.",
                                    "oneOf": [
                                      {
                                        "description": "A fillet.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "radius",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "radius": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A chamfer.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "length",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "length": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                },
                                "endCapId": {
                                  "description": "The id of the extrusion end cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "height": {
                                  "description": "The height of the extrude group.",
                                  "type": "number",
                                  "format": "double"
                                },
                                "id": {
                                  "description": "The id of the extrude group.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sketchGroup": {
                                  "description": "The sketch group.",
                                  "$ref": "#/components/schemas/SketchGroup"
                                },
                                "startCapId": {
                                  "description": "The id of the extrusion start cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "value": {
                                  "description": "The extrude surfaces.",
                                  "type": "array",
                                  "items": {
                                    "description": "An extrude surface.",
                                    "oneOf": [
                                      {
                                        "description": "An extrude plane.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudePlane"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "An extruded arc.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudeArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the chamfer surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the fillet surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the face.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "face"
                              ]
                            },
                            "value": {
                              "description": "The tag of the face.",
                              "type": "string"
                            },
                            "xAxis": {
                              "description": "What should the face’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the face’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    "start": {
                      "description": "The starting path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "tags": {
                      "description": "Tag identifiers that have been declared in this sketch group.",
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "__meta",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "info": {
                            "description": "Engine information for a tag.",
                            "type": "object",
                            "required": [
                              "id",
                              "sketchGroup"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the tagged object.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "path": {
                                "description": "The path the tag is on.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                },
                                "nullable": true
                              },
                              "sketchGroup": {
                                "description": "The sketch group the tag is on.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "surface": {
                                "description": "The surface information for the tag.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "value": {
                      "description": "The paths in the sketch group.",
                      "type": "array",
                      "items": {
                        "description": "A path.",
                        "oneOf": [
                          {
                            "description": "A path that goes to a point.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "ToPoint"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment that goes to a point",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArcTo"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A path that is horizontal.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type",
                              "x"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Horizontal"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          {
                            "description": "An angled line to.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "AngledLineTo"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              },
                              "y": {
                                "description": "The y coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              }
                            }
                          },
                          {
                            "description": "A base path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Base"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroup"
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "description": "An extrude surface.",
                    "oneOf": [
                      {
                        "description": "An extrude plane.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudePlane"
                            ]
                          }
                        }
                      },
                      {
                        "description": "An extruded arc.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudeArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the chamfer surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the fillet surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "An extrude group is a collection of extrude surfaces.",
                "type": "object",
                "required": [
                  "__meta",
                  "height",
                  "id",
                  "sketchGroup",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "edgeCuts": {
                    "description": "Chamfers or fillets on this extrude group.",
                    "type": "array",
                    "items": {
                      "description": "A fillet or a chamfer.",
                      "oneOf": [
                        {
                          "description": "A fillet.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "radius",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "radius": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A chamfer.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "length",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "length": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  "endCapId": {
                    "description": "The id of the extrusion end cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "height": {
                    "description": "The height of the extrude group.",
                    "type": "number",
                    "format": "double"
                  },
                  "id": {
                    "description": "The id of the extrude group.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sketchGroup": {
                    "description": "The sketch group.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "on",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "on": {
                        "description": "What the sketch is on (can be a plane or a face).",
                        "oneOf": [
                          {
                            "description": "A plane.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "id",
                              "origin",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "id": {
                                "description": "The id of the plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "origin": {
                                "description": "Origin of the plane.",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "plane"
                                ]
                              },
                              "value": {
                                "description": "Type for a plane.",
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "XY",
                                      "XZ",
                                      "YZ"
                                    ]
                                  },
                                  {
                                    "description": "A custom plane.",
                                    "type": "string",
                                    "enum": [
                                      "Custom"
                                    ]
                                  }
                                ]
                              },
                              "xAxis": {
                                "description": "What should the plane’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the plane’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          },
                          {
                            "description": "A face.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "extrudeGroup",
                              "id",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "extrudeGroup": {
                                "description": "The extrude group the face is on.",
                                "$ref": "#/components/schemas/ExtrudeGroup"
                              },
                              "id": {
                                "description": "The id of the face.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "face"
                                ]
                              },
                              "value": {
                                "description": "The tag of the face.",
                                "type": "string"
                              },
                              "xAxis": {
                                "description": "What should the face’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the face’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      },
                      "start": {
                        "description": "The starting path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "tags": {
                        "description": "Tag identifiers that have been declared in this sketch group.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "required": [
                            "__meta",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "info": {
                              "description": "Engine information for a tag.",
                              "type": "object",
                              "required": [
                                "id",
                                "sketchGroup"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the tagged object.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "path": {
                                  "description": "The path the tag is on.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  },
                                  "nullable": true
                                },
                                "sketchGroup": {
                                  "description": "The sketch group the tag is on.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "surface": {
                                  "description": "The surface information for the tag.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ],
                                  "nullable": true
                                }
                              },
                              "nullable": true
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "value": {
                        "description": "The paths in the sketch group.",
                        "type": "array",
                        "items": {
                          "description": "A path.",
                          "oneOf": [
                            {
                              "description": "A path that goes to a point.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ToPoint"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment that goes to a point",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArcTo"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A path that is horizontal.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type",
                                "x"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Horizontal"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            {
                              "description": "An angled line to.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "AngledLineTo"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                },
                                "y": {
                                  "description": "The y coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                }
                              }
                            },
                            {
                              "description": "A base path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Base"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "startCapId": {
                    "description": "The id of the extrusion start cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "value": {
                    "description": "The extrude surfaces.",
                    "type": "array",
                    "items": {
                      "description": "An extrude surface.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[ExtrudeGroup]",
      "schema": {
        "type": "array",
        "items": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "$ref": "#/components/schemas/ExtrudeGroup"
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> circle([0, 0], 1, %)\n\nconst example = extrude(-5, exampleSketch)\n  |> patternCircular3d({\n       axis: [1, -1, 0],\n       center: [10, -20, 0],\n       repetitions: 10,\n       arcDegrees: 360,\n       rotateDuplicates: true\n     }, %)"
    ]
  },
  {
    "name": "patternLinear2d",
    "summary": "Repeat a 2-dimensional sketch along some dimension, with a dynamic amount",
    "description": "of distance between each repetition, some specified number of times.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "LinearPattern2dData",
        "schema": {
          "description": "Data for a linear pattern on a 2D sketch.",
          "type": "object",
          "required": [
            "axis",
            "distance",
            "repetitions"
          ],
          "properties": {
            "axis": {
              "description": "The axis of the pattern. This is a 2D vector.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 2,
              "minItems": 2
            },
            "distance": {
              "description": "The distance between each repetition. This can also be referred to as spacing.",
              "type": "number",
              "format": "double"
            },
            "repetitions": {
              "description": "The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once.",
              "type": "integer",
              "format": "uint32",
              "minimum": 0.0
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group_set",
        "type": "SketchGroupSet",
        "schema": {
          "description": "A sketch group or a group of sketch groups.",
          "oneOf": [
            {
              "description": "A sketch group is a collection of paths.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "id",
                                "on",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "id": {
                                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "on": {
                                  "description": "What the sketch is on (can be a plane or a face).",
                                  "$ref": "#/components/schemas/SketchSurface"
                                },
                                "start": {
                                  "description": "The starting path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "tags": {
                                  "description": "Tag identifiers that have been declared in this sketch group.",
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "object",
                                    "required": [
                                      "__meta",
                                      "value"
                                    ],
                                    "properties": {
                                      "__meta": {
                                        "type": "array",
                                        "items": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        }
                                      },
                                      "info": {
                                        "description": "Engine information for a tag.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sketchGroup"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the tagged object.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "path": {
                                            "description": "The path the tag is on.",
                                            "type": "object",
                                            "required": [
                                              "__geoMeta",
                                              "from",
                                              "to"
                                            ],
                                            "properties": {
                                              "__geoMeta": {
                                                "description": "Metadata.",
                                                "type": "object",
                                                "required": [
                                                  "id",
                                                  "sourceRange"
                                                ],
                                                "properties": {
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  }
                                                }
                                              },
                                              "from": {
                                                "description": "The from point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag of the path.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "to": {
                                                "description": "The to point.",
                                                "type": "array",
                                                "items": {
                                                  "type": "number",
                                                  "format": "double"
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "sketchGroup": {
                                            "description": "The sketch group the tag is on.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "surface": {
                                            "description": "The surface information for the tag.",
                                            "oneOf": [
                                              {
                                                "description": "An extrude plane.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudePlane"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "An extruded arc.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The face id for the extrude plane.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "extrudeArc"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the chamfer surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "chamfer"
                                                    ]
                                                  }
                                                }
                                              },
                                              {
                                                "description": "Geometry metadata.",
                                                "type": "object",
                                                "required": [
                                                  "faceId",
                                                  "id",
                                                  "sourceRange",
                                                  "type"
                                                ],
                                                "properties": {
                                                  "faceId": {
                                                    "description": "The id for the fillet surface.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "id": {
                                                    "description": "The id of the geometry.",
                                                    "type": "string",
                                                    "format": "uuid"
                                                  },
                                                  "sourceRange": {
                                                    "description": "The source range.",
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 2,
                                                    "minItems": 2
                                                  },
                                                  "tag": {
                                                    "description": "The tag.",
                                                    "type": "object",
                                                    "required": [
                                                      "end",
                                                      "start",
                                                      "value"
                                                    ],
                                                    "properties": {
                                                      "digest": {
                                                        "type": "array",
                                                        "items": {
                                                          "type": "integer",
                                                          "format": "uint8",
                                                          "minimum": 0.0
                                                        },
                                                        "maxItems": 32,
                                                        "minItems": 32,
                                                        "nullable": true
                                                      },
                                                      "end": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "start": {
                                                        "type": "integer",
                                                        "format": "uint",
                                                        "minimum": 0.0
                                                      },
                                                      "value": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "nullable": true
                                                  },
                                                  "type": {
                                                    "type": "string",
                                                    "enum": [
                                                      "fillet"
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "nullable": true
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "value": {
                                  "description": "The paths in the sketch group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A path.",
                                    "oneOf": [
                                      {
                                        "description": "A path that goes to a point.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "ToPoint"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment that goes to a point",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArcTo"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A arc that is tangential to the last path segment",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "ccw",
                                          "center",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "ccw": {
                                            "description": "arc's direction",
                                            "type": "boolean"
                                          },
                                          "center": {
                                            "description": "the arc's center",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "TangentialArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A path that is horizontal.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type",
                                          "x"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Horizontal"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double"
                                          }
                                        }
                                      },
                                      {
                                        "description": "An angled line to.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "AngledLineTo"
                                            ]
                                          },
                                          "x": {
                                            "description": "The x coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          },
                                          "y": {
                                            "description": "The y coordinate.",
                                            "type": "number",
                                            "format": "double",
                                            "nullable": true
                                          }
                                        }
                                      },
                                      {
                                        "description": "A base path.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to",
                                          "type"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "Base"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroup"
                  ]
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "A sketch group is a collection of paths.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "on",
                  "start",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "on": {
                    "description": "What the sketch is on (can be a plane or a face).",
                    "oneOf": [
                      {
                        "description": "A plane.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "origin",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "origin": {
                            "description": "Origin of the plane.",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "plane"
                            ]
                          },
                          "value": {
                            "description": "Type for a plane.",
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "XY",
                                  "XZ",
                                  "YZ"
                                ]
                              },
                              {
                                "description": "A custom plane.",
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              }
                            ]
                          },
                          "xAxis": {
                            "description": "What should the plane’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the plane’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      },
                      {
                        "description": "A face.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "extrudeGroup",
                          "id",
                          "type",
                          "value",
                          "xAxis",
                          "yAxis",
                          "zAxis"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "extrudeGroup": {
                            "description": "The extrude group the face is on.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "height",
                              "id",
                              "sketchGroup",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "description": "Metadata.",
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "edgeCuts": {
                                "description": "Chamfers or fillets on this extrude group.",
                                "type": "array",
                                "items": {
                                  "description": "A fillet or a chamfer.",
                                  "oneOf": [
                                    {
                                      "description": "A fillet.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "radius",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this fillet.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "radius": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "A chamfer.",
                                      "type": "object",
                                      "required": [
                                        "edgeId",
                                        "id",
                                        "length",
                                        "type"
                                      ],
                                      "properties": {
                                        "edgeId": {
                                          "description": "The engine id of the edge to chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the engine command that called this chamfer.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "length": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "tag": {
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "endCapId": {
                                "description": "The id of the extrusion end cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "height": {
                                "description": "The height of the extrude group.",
                                "type": "number",
                                "format": "double"
                              },
                              "id": {
                                "description": "The id of the extrude group.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sketchGroup": {
                                "description": "The sketch group.",
                                "$ref": "#/components/schemas/SketchGroup"
                              },
                              "startCapId": {
                                "description": "The id of the extrusion start cap",
                                "type": "string",
                                "format": "uuid",
                                "nullable": true
                              },
                              "value": {
                                "description": "The extrude surfaces.",
                                "type": "array",
                                "items": {
                                  "description": "An extrude surface.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the face.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "face"
                            ]
                          },
                          "value": {
                            "description": "The tag of the face.",
                            "type": "string"
                          },
                          "xAxis": {
                            "description": "What should the face’s X axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "yAxis": {
                            "description": "What should the face’s Y axis be?",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          "zAxis": {
                            "description": "The z-axis (normal).",
                            "type": "object",
                            "required": [
                              "x",
                              "y",
                              "z"
                            ],
                            "properties": {
                              "x": {
                                "type": "number",
                                "format": "double"
                              },
                              "y": {
                                "type": "number",
                                "format": "double"
                              },
                              "z": {
                                "type": "number",
                                "format": "double"
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "start": {
                    "description": "The starting path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "tags": {
                    "description": "Tag identifiers that have been declared in this sketch group.",
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "description": "The paths in the sketch group.",
                    "type": "array",
                    "items": {
                      "description": "A path.",
                      "oneOf": [
                        {
                          "description": "A path that goes to a point.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "ToPoint"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment that goes to a point",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArcTo"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A arc that is tangential to the last path segment",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "ccw",
                            "center",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "ccw": {
                              "description": "arc's direction",
                              "type": "boolean"
                            },
                            "center": {
                              "description": "the arc's center",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "TangentialArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A path that is horizontal.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type",
                            "x"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Horizontal"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        {
                          "description": "An angled line to.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "AngledLineTo"
                              ]
                            },
                            "x": {
                              "description": "The x coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            },
                            "y": {
                              "description": "The y coordinate.",
                              "type": "number",
                              "format": "double",
                              "nullable": true
                            }
                          }
                        },
                        {
                          "description": "A base path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to",
                            "type"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "Base"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[SketchGroup]",
      "schema": {
        "type": "array",
        "items": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "$ref": "#/components/schemas/SketchGroup"
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> circle([0, 0], 1, %)\n  |> patternLinear2d({\n       axis: [1, 0],\n       repetitions: 6,\n       distance: 4\n     }, %)\n\nconst example = extrude(1, exampleSketch)"
    ]
  },
  {
    "name": "patternLinear3d",
    "summary": "Repeat a 3-dimensional solid along a linear path, with a dynamic amount",
    "description": "of distance between each repetition, some specified number of times.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "LinearPattern3dData",
        "schema": {
          "description": "Data for a linear pattern on a 3D model.",
          "type": "object",
          "required": [
            "axis",
            "distance",
            "repetitions"
          ],
          "properties": {
            "axis": {
              "description": "The axis of the pattern.",
              "type": "array",
              "items": {
                "type": "number",
                "format": "double"
              },
              "maxItems": 3,
              "minItems": 3
            },
            "distance": {
              "description": "The distance between each repetition. This can also be referred to as spacing.",
              "type": "number",
              "format": "double"
            },
            "repetitions": {
              "description": "The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if `repetitions` is 1, the original entity will be copied once.",
              "type": "integer",
              "format": "uint32",
              "minimum": 0.0
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group_set",
        "type": "ExtrudeGroupSet",
        "schema": {
          "description": "A extrude group or a group of extrude groups.",
          "oneOf": [
            {
              "description": "An extrude group is a collection of extrude surfaces.",
              "type": "object",
              "required": [
                "__meta",
                "height",
                "id",
                "sketchGroup",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this extrude group.",
                  "type": "array",
                  "items": {
                    "description": "A fillet or a chamfer.",
                    "oneOf": [
                      {
                        "description": "A fillet.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "radius",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "radius": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A chamfer.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "length",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "length": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "height": {
                  "description": "The height of the extrude group.",
                  "type": "number",
                  "format": "double"
                },
                "id": {
                  "description": "The id of the extrude group.",
                  "type": "string",
                  "format": "uuid"
                },
                "sketchGroup": {
                  "description": "The sketch group.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "on",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "on": {
                      "description": "What the sketch is on (can be a plane or a face).",
                      "oneOf": [
                        {
                          "description": "A plane.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "origin",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "origin": {
                              "description": "Origin of the plane.",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "plane"
                              ]
                            },
                            "value": {
                              "description": "Type for a plane.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "XY",
                                    "XZ",
                                    "YZ"
                                  ]
                                },
                                {
                                  "description": "A custom plane.",
                                  "type": "string",
                                  "enum": [
                                    "Custom"
                                  ]
                                }
                              ]
                            },
                            "xAxis": {
                              "description": "What should the plane’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the plane’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        },
                        {
                          "description": "A face.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "extrudeGroup",
                            "id",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "extrudeGroup": {
                              "description": "The extrude group the face is on.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "height",
                                "id",
                                "sketchGroup",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "edgeCuts": {
                                  "description": "Chamfers or fillets on this extrude group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A fillet or a chamfer.",
                                    "oneOf": [
                                      {
                                        "description": "A fillet.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "radius",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "radius": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A chamfer.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "length",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "length": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                },
                                "endCapId": {
                                  "description": "The id of the extrusion end cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "height": {
                                  "description": "The height of the extrude group.",
                                  "type": "number",
                                  "format": "double"
                                },
                                "id": {
                                  "description": "The id of the extrude group.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sketchGroup": {
                                  "description": "The sketch group.",
                                  "$ref": "#/components/schemas/SketchGroup"
                                },
                                "startCapId": {
                                  "description": "The id of the extrusion start cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "value": {
                                  "description": "The extrude surfaces.",
                                  "type": "array",
                                  "items": {
                                    "description": "An extrude surface.",
                                    "oneOf": [
                                      {
                                        "description": "An extrude plane.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudePlane"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "An extruded arc.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudeArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the chamfer surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the fillet surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the face.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "face"
                              ]
                            },
                            "value": {
                              "description": "The tag of the face.",
                              "type": "string"
                            },
                            "xAxis": {
                              "description": "What should the face’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the face’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    "start": {
                      "description": "The starting path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "tags": {
                      "description": "Tag identifiers that have been declared in this sketch group.",
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "__meta",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "info": {
                            "description": "Engine information for a tag.",
                            "type": "object",
                            "required": [
                              "id",
                              "sketchGroup"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the tagged object.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "path": {
                                "description": "The path the tag is on.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                },
                                "nullable": true
                              },
                              "sketchGroup": {
                                "description": "The sketch group the tag is on.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "surface": {
                                "description": "The surface information for the tag.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "value": {
                      "description": "The paths in the sketch group.",
                      "type": "array",
                      "items": {
                        "description": "A path.",
                        "oneOf": [
                          {
                            "description": "A path that goes to a point.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "ToPoint"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment that goes to a point",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArcTo"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A path that is horizontal.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type",
                              "x"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Horizontal"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          {
                            "description": "An angled line to.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "AngledLineTo"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              },
                              "y": {
                                "description": "The y coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              }
                            }
                          },
                          {
                            "description": "A base path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Base"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroup"
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "description": "An extrude surface.",
                    "oneOf": [
                      {
                        "description": "An extrude plane.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudePlane"
                            ]
                          }
                        }
                      },
                      {
                        "description": "An extruded arc.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudeArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the chamfer surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the fillet surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "An extrude group is a collection of extrude surfaces.",
                "type": "object",
                "required": [
                  "__meta",
                  "height",
                  "id",
                  "sketchGroup",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "edgeCuts": {
                    "description": "Chamfers or fillets on this extrude group.",
                    "type": "array",
                    "items": {
                      "description": "A fillet or a chamfer.",
                      "oneOf": [
                        {
                          "description": "A fillet.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "radius",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "radius": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A chamfer.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "length",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "length": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  "endCapId": {
                    "description": "The id of the extrusion end cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "height": {
                    "description": "The height of the extrude group.",
                    "type": "number",
                    "format": "double"
                  },
                  "id": {
                    "description": "The id of the extrude group.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sketchGroup": {
                    "description": "The sketch group.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "on",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "on": {
                        "description": "What the sketch is on (can be a plane or a face).",
                        "oneOf": [
                          {
                            "description": "A plane.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "id",
                              "origin",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "id": {
                                "description": "The id of the plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "origin": {
                                "description": "Origin of the plane.",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "plane"
                                ]
                              },
                              "value": {
                                "description": "Type for a plane.",
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "XY",
                                      "XZ",
                                      "YZ"
                                    ]
                                  },
                                  {
                                    "description": "A custom plane.",
                                    "type": "string",
                                    "enum": [
                                      "Custom"
                                    ]
                                  }
                                ]
                              },
                              "xAxis": {
                                "description": "What should the plane’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the plane’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          },
                          {
                            "description": "A face.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "extrudeGroup",
                              "id",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "extrudeGroup": {
                                "description": "The extrude group the face is on.",
                                "$ref": "#/components/schemas/ExtrudeGroup"
                              },
                              "id": {
                                "description": "The id of the face.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "face"
                                ]
                              },
                              "value": {
                                "description": "The tag of the face.",
                                "type": "string"
                              },
                              "xAxis": {
                                "description": "What should the face’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the face’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      },
                      "start": {
                        "description": "The starting path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "tags": {
                        "description": "Tag identifiers that have been declared in this sketch group.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "required": [
                            "__meta",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "info": {
                              "description": "Engine information for a tag.",
                              "type": "object",
                              "required": [
                                "id",
                                "sketchGroup"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the tagged object.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "path": {
                                  "description": "The path the tag is on.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  },
                                  "nullable": true
                                },
                                "sketchGroup": {
                                  "description": "The sketch group the tag is on.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "surface": {
                                  "description": "The surface information for the tag.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ],
                                  "nullable": true
                                }
                              },
                              "nullable": true
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "value": {
                        "description": "The paths in the sketch group.",
                        "type": "array",
                        "items": {
                          "description": "A path.",
                          "oneOf": [
                            {
                              "description": "A path that goes to a point.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ToPoint"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment that goes to a point",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArcTo"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A path that is horizontal.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type",
                                "x"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Horizontal"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            {
                              "description": "An angled line to.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "AngledLineTo"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                },
                                "y": {
                                  "description": "The y coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                }
                              }
                            },
                            {
                              "description": "A base path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Base"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "startCapId": {
                    "description": "The id of the extrusion start cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "value": {
                    "description": "The extrude surfaces.",
                    "type": "array",
                    "items": {
                      "description": "An extrude surface.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[ExtrudeGroup]",
      "schema": {
        "type": "array",
        "items": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "$ref": "#/components/schemas/ExtrudeGroup"
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 2], %)\n  |> line([3, 1], %)\n  |> line([0, -4], %)\n  |> close(%)\n\nconst example = extrude(1, exampleSketch)\n  |> patternLinear3d({\n       axis: [1, 0, 1],\n       repetitions: 6,\n       distance: 6\n     }, %)"
    ]
  },
  {
    "name": "patternTransform",
    "summary": "Repeat a 3-dimensional solid by successively applying a transformation (such",
    "description": "as rotation, scale, translation, visibility) on each repetition.",
    "tags": [],
    "args": [
      {
        "name": "num_repetitions",
        "type": "u32",
        "schema": {
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0
        },
        "required": true
      },
      {
        "name": "transform_function",
        "type": "FunctionParam",
        "schema": {
          "type": "null"
        },
        "required": true
      },
      {
        "name": "extrude_group_set",
        "type": "ExtrudeGroupSet",
        "schema": {
          "description": "A extrude group or a group of extrude groups.",
          "oneOf": [
            {
              "description": "An extrude group is a collection of extrude surfaces.",
              "type": "object",
              "required": [
                "__meta",
                "height",
                "id",
                "sketchGroup",
                "type",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this extrude group.",
                  "type": "array",
                  "items": {
                    "description": "A fillet or a chamfer.",
                    "oneOf": [
                      {
                        "description": "A fillet.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "radius",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "radius": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A chamfer.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "length",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "length": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "height": {
                  "description": "The height of the extrude group.",
                  "type": "number",
                  "format": "double"
                },
                "id": {
                  "description": "The id of the extrude group.",
                  "type": "string",
                  "format": "uuid"
                },
                "sketchGroup": {
                  "description": "The sketch group.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "on",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "on": {
                      "description": "What the sketch is on (can be a plane or a face).",
                      "oneOf": [
                        {
                          "description": "A plane.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "origin",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "origin": {
                              "description": "Origin of the plane.",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "plane"
                              ]
                            },
                            "value": {
                              "description": "Type for a plane.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "XY",
                                    "XZ",
                                    "YZ"
                                  ]
                                },
                                {
                                  "description": "A custom plane.",
                                  "type": "string",
                                  "enum": [
                                    "Custom"
                                  ]
                                }
                              ]
                            },
                            "xAxis": {
                              "description": "What should the plane’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the plane’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        },
                        {
                          "description": "A face.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "extrudeGroup",
                            "id",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "extrudeGroup": {
                              "description": "The extrude group the face is on.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "height",
                                "id",
                                "sketchGroup",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "description": "Metadata.",
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "edgeCuts": {
                                  "description": "Chamfers or fillets on this extrude group.",
                                  "type": "array",
                                  "items": {
                                    "description": "A fillet or a chamfer.",
                                    "oneOf": [
                                      {
                                        "description": "A fillet.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "radius",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this fillet.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "radius": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "A chamfer.",
                                        "type": "object",
                                        "required": [
                                          "edgeId",
                                          "id",
                                          "length",
                                          "type"
                                        ],
                                        "properties": {
                                          "edgeId": {
                                            "description": "The engine id of the edge to chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the engine command that called this chamfer.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "length": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "tag": {
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                },
                                "endCapId": {
                                  "description": "The id of the extrusion end cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "height": {
                                  "description": "The height of the extrude group.",
                                  "type": "number",
                                  "format": "double"
                                },
                                "id": {
                                  "description": "The id of the extrude group.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sketchGroup": {
                                  "description": "The sketch group.",
                                  "$ref": "#/components/schemas/SketchGroup"
                                },
                                "startCapId": {
                                  "description": "The id of the extrusion start cap",
                                  "type": "string",
                                  "format": "uuid",
                                  "nullable": true
                                },
                                "value": {
                                  "description": "The extrude surfaces.",
                                  "type": "array",
                                  "items": {
                                    "description": "An extrude surface.",
                                    "oneOf": [
                                      {
                                        "description": "An extrude plane.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudePlane"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "An extruded arc.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudeArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the chamfer surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the fillet surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the face.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "face"
                              ]
                            },
                            "value": {
                              "description": "The tag of the face.",
                              "type": "string"
                            },
                            "xAxis": {
                              "description": "What should the face’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the face’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    "start": {
                      "description": "The starting path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "tags": {
                      "description": "Tag identifiers that have been declared in this sketch group.",
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "__meta",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "info": {
                            "description": "Engine information for a tag.",
                            "type": "object",
                            "required": [
                              "id",
                              "sketchGroup"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the tagged object.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "path": {
                                "description": "The path the tag is on.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                },
                                "nullable": true
                              },
                              "sketchGroup": {
                                "description": "The sketch group the tag is on.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "surface": {
                                "description": "The surface information for the tag.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "value": {
                      "description": "The paths in the sketch group.",
                      "type": "array",
                      "items": {
                        "description": "A path.",
                        "oneOf": [
                          {
                            "description": "A path that goes to a point.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "ToPoint"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment that goes to a point",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArcTo"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A path that is horizontal.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type",
                              "x"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Horizontal"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          {
                            "description": "An angled line to.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "AngledLineTo"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              },
                              "y": {
                                "description": "The y coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              }
                            }
                          },
                          {
                            "description": "A base path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Base"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroup"
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "description": "An extrude surface.",
                    "oneOf": [
                      {
                        "description": "An extrude plane.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudePlane"
                            ]
                          }
                        }
                      },
                      {
                        "description": "An extruded arc.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudeArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the chamfer surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the fillet surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "description": "An extrude group is a collection of extrude surfaces.",
                "type": "object",
                "required": [
                  "__meta",
                  "height",
                  "id",
                  "sketchGroup",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "edgeCuts": {
                    "description": "Chamfers or fillets on this extrude group.",
                    "type": "array",
                    "items": {
                      "description": "A fillet or a chamfer.",
                      "oneOf": [
                        {
                          "description": "A fillet.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "radius",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "radius": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A chamfer.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "length",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "length": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  "endCapId": {
                    "description": "The id of the extrusion end cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "height": {
                    "description": "The height of the extrude group.",
                    "type": "number",
                    "format": "double"
                  },
                  "id": {
                    "description": "The id of the extrude group.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sketchGroup": {
                    "description": "The sketch group.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "on",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "on": {
                        "description": "What the sketch is on (can be a plane or a face).",
                        "oneOf": [
                          {
                            "description": "A plane.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "id",
                              "origin",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "id": {
                                "description": "The id of the plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "origin": {
                                "description": "Origin of the plane.",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "plane"
                                ]
                              },
                              "value": {
                                "description": "Type for a plane.",
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "XY",
                                      "XZ",
                                      "YZ"
                                    ]
                                  },
                                  {
                                    "description": "A custom plane.",
                                    "type": "string",
                                    "enum": [
                                      "Custom"
                                    ]
                                  }
                                ]
                              },
                              "xAxis": {
                                "description": "What should the plane’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the plane’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          },
                          {
                            "description": "A face.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "extrudeGroup",
                              "id",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "extrudeGroup": {
                                "description": "The extrude group the face is on.",
                                "$ref": "#/components/schemas/ExtrudeGroup"
                              },
                              "id": {
                                "description": "The id of the face.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "face"
                                ]
                              },
                              "value": {
                                "description": "The tag of the face.",
                                "type": "string"
                              },
                              "xAxis": {
                                "description": "What should the face’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the face’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      },
                      "start": {
                        "description": "The starting path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "tags": {
                        "description": "Tag identifiers that have been declared in this sketch group.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "required": [
                            "__meta",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "info": {
                              "description": "Engine information for a tag.",
                              "type": "object",
                              "required": [
                                "id",
                                "sketchGroup"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the tagged object.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "path": {
                                  "description": "The path the tag is on.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  },
                                  "nullable": true
                                },
                                "sketchGroup": {
                                  "description": "The sketch group the tag is on.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "surface": {
                                  "description": "The surface information for the tag.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ],
                                  "nullable": true
                                }
                              },
                              "nullable": true
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "value": {
                        "description": "The paths in the sketch group.",
                        "type": "array",
                        "items": {
                          "description": "A path.",
                          "oneOf": [
                            {
                              "description": "A path that goes to a point.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ToPoint"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment that goes to a point",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArcTo"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A path that is horizontal.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type",
                                "x"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Horizontal"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            {
                              "description": "An angled line to.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "AngledLineTo"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                },
                                "y": {
                                  "description": "The y coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                }
                              }
                            },
                            {
                              "description": "A base path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Base"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "startCapId": {
                    "description": "The id of the extrusion start cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "value": {
                    "description": "The extrude surfaces.",
                    "type": "array",
                    "items": {
                      "description": "An extrude surface.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "extrudeGroups"
                  ]
                }
              }
            }
          ]
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[ExtrudeGroup]",
      "schema": {
        "type": "array",
        "items": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "$ref": "#/components/schemas/ExtrudeGroup"
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "// Parameters\nconst r = 50 // base radius\nconst h = 10 // layer height\nconst t = 0.005 // taper factor [0-1)\n// Defines how to modify each layer of the vase.\n// Each replica is shifted up the Z axis, and has a smoothly-varying radius\nfn transform = (replicaId) => {\n  let scale = r * abs(1 - (t * replicaId)) * (5 + cos(replicaId / 8))\n  return {\n  translate: [0, 0, replicaId * 10],\n  scale: [scale, scale, 0]\n}\n}\n// Each layer is just a pretty thin cylinder.\nfn layer = () => {\n  return startSketchOn(\"XY\")\n  // or some other plane idk\n  |> circle([0, 0], 1, %, $tag1)\n  |> extrude(h, %)\n}\n// The vase is 100 layers tall.\n// The 100 layers are replica of each other, with a slight transformation applied to each.\nlet vase = layer()\n  |> patternTransform(100, transform, %)"
    ]
  },
  {
    "name": "pi",
    "summary": "Return the value of `pi`. Archimedes’ constant (π).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const circumference = 70\n\nconst exampleSketch = startSketchOn(\"XZ\")\n  |> circle([0, 0], circumference / (2 * pi()), %)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "polar",
    "summary": "Convert polar/sphere (azimuth, elevation, distance) coordinates to",
    "description": "cartesian (x/y/z grid) coordinates.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "PolarCoordsData",
        "schema": {
          "description": "Data for polar coordinates.",
          "type": "object",
          "required": [
            "angle",
            "length"
          ],
          "properties": {
            "angle": {
              "description": "The angle of the line (in degrees).",
              "type": "number",
              "format": "double"
            },
            "length": {
              "description": "The length of the line.",
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[number]",
      "schema": {
        "type": "array",
        "items": {
          "type": "number",
          "format": "double"
        },
        "maxItems": 2,
        "minItems": 2
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line(polar({ angle: 30, length: 5 }), %, $thing)\n  |> line([0, 5], %)\n  |> line([segEndX(thing), 0], %)\n  |> line([-20, 10], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "pow",
    "summary": "Compute the number to a power.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "pow",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 50, length: pow(5, 2) }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "profileStart",
    "summary": "Extract the provided 2-dimensional sketch group's profile's origin",
    "description": "value.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[number]",
      "schema": {
        "type": "array",
        "items": {
          "type": "number",
          "format": "double"
        },
        "maxItems": 2,
        "minItems": 2
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XY')\n  |> startProfileAt([5, 2], %)\n  |> angledLine({ angle: 120, length: 50 }, %, $seg01)\n  |> angledLine({\n       angle: segAng(seg01) + 120,\n       length: 50\n     }, %)\n  |> lineTo(profileStart(%), %)\n  |> close(%)\n  |> extrude(20, %)"
    ]
  },
  {
    "name": "profileStartX",
    "summary": "Extract the provided 2-dimensional sketch group's profile's origin's 'x'",
    "description": "value.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XY')\n  |> startProfileAt([5, 2], %)\n  |> angledLine([-26.6, 50], %)\n  |> angledLine([90, 50], %)\n  |> angledLineToX({ angle: 30, to: profileStartX(%) }, %)"
    ]
  },
  {
    "name": "profileStartY",
    "summary": "Extract the provided 2-dimensional sketch group's profile's origin's 'y'",
    "description": "value.",
    "tags": [],
    "args": [
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const sketch001 = startSketchOn('XY')\n  |> startProfileAt([5, 2], %)\n  |> angledLine({ angle: -60, length: 14 }, %)\n  |> angledLineToY({ angle: 30, to: profileStartY(%) }, %)"
    ]
  },
  {
    "name": "revolve",
    "summary": "Rotate a sketch around some provided axis, creating a solid from its extent.",
    "description": "This, like extrude, is able to create a 3-dimensional solid from a 2-dimensional sketch. However, unlike extrude, this creates a solid by using the extent of the sketch as its revolved around an axis rather than using the extent of the sketch linearly translated through a third dimension.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "RevolveData",
        "schema": {
          "description": "Data for revolution surfaces.",
          "type": "object",
          "required": [
            "axis"
          ],
          "properties": {
            "angle": {
              "description": "Angle to revolve (in degrees). Default is 360.",
              "default": null,
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "axis": {
              "description": "Axis of revolution.",
              "anyOf": [
                {
                  "description": "Axis of revolution.",
                  "oneOf": [
                    {
                      "description": "X-axis.",
                      "type": "string",
                      "enum": [
                        "X"
                      ]
                    },
                    {
                      "description": "Y-axis.",
                      "type": "string",
                      "enum": [
                        "Y"
                      ]
                    },
                    {
                      "description": "Z-axis.",
                      "type": "string",
                      "enum": [
                        "Z"
                      ]
                    },
                    {
                      "description": "Flip the X-axis.",
                      "type": "string",
                      "enum": [
                        "-X"
                      ]
                    },
                    {
                      "description": "Flip the Y-axis.",
                      "type": "string",
                      "enum": [
                        "-Y"
                      ]
                    },
                    {
                      "description": "Flip the Z-axis.",
                      "type": "string",
                      "enum": [
                        "-Z"
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "custom"
                      ],
                      "properties": {
                        "custom": {
                          "type": "object",
                          "required": [
                            "axis",
                            "origin"
                          ],
                          "properties": {
                            "axis": {
                              "description": "The axis.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            },
                            "origin": {
                              "description": "The origin.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            }
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                {
                  "description": "Tagged edge.",
                  "anyOf": [
                    {
                      "description": "A uuid of an edge.",
                      "type": "string",
                      "format": "uuid"
                    },
                    {
                      "description": "A tag of an edge.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "info": {
                          "description": "Engine information for a tag.",
                          "type": "object",
                          "required": [
                            "id",
                            "sketchGroup"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the tagged object.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "path": {
                              "description": "The path the tag is on.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              },
                              "nullable": true
                            },
                            "sketchGroup": {
                              "description": "The sketch group the tag is on.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "surface": {
                              "description": "The surface information for the tag.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ],
                              "nullable": true
                            }
                          },
                          "nullable": true
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  ]
                }
              ]
            },
            "tolerance": {
              "description": "Tolerance for the revolve operation.",
              "default": null,
              "type": "number",
              "format": "double",
              "nullable": true
            }
          }
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const part001 = startSketchOn('XY')\n  |> startProfileAt([4, 12], %)\n  |> line([2, 0], %)\n  |> line([0, -6], %)\n  |> line([4, -6], %)\n  |> line([0, -6], %)\n  |> line([-3.75, -4.5], %)\n  |> line([0, -5.5], %)\n  |> line([-2, 0], %)\n  |> close(%)\n  |> revolve({ axis: 'y' }, %) // default angle is 360",
      "// A donut shape.\nconst sketch001 = startSketchOn('XY')\n  |> circle([15, 0], 5, %)\n  |> revolve({ angle: 360, axis: 'y' }, %)",
      "const part001 = startSketchOn('XY')\n  |> startProfileAt([4, 12], %)\n  |> line([2, 0], %)\n  |> line([0, -6], %)\n  |> line([4, -6], %)\n  |> line([0, -6], %)\n  |> line([-3.75, -4.5], %)\n  |> line([0, -5.5], %)\n  |> line([-2, 0], %)\n  |> close(%)\n  |> revolve({ axis: 'y', angle: 180 }, %)",
      "const part001 = startSketchOn('XY')\n  |> startProfileAt([4, 12], %)\n  |> line([2, 0], %)\n  |> line([0, -6], %)\n  |> line([4, -6], %)\n  |> line([0, -6], %)\n  |> line([-3.75, -4.5], %)\n  |> line([0, -5.5], %)\n  |> line([-2, 0], %)\n  |> close(%)\n  |> revolve({ axis: 'y', angle: 180 }, %)\nconst part002 = startSketchOn(part001, 'end')\n  |> startProfileAt([4.5, -5], %)\n  |> line([0, 5], %)\n  |> line([5, 0], %)\n  |> line([0, -5], %)\n  |> close(%)\n  |> extrude(5, %)",
      "const box = startSketchOn('XY')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 20], %)\n  |> line([20, 0], %)\n  |> line([0, -20], %)\n  |> close(%)\n  |> extrude(20, %)\n\nconst sketch001 = startSketchOn(box, \"END\")\n  |> circle([10, 10], 4, %)\n  |> revolve({ angle: -90, axis: 'y' }, %)",
      "const box = startSketchOn('XY')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 20], %)\n  |> line([20, 0], %)\n  |> line([0, -20], %, $revolveAxis)\n  |> close(%)\n  |> extrude(20, %)\n\nconst sketch001 = startSketchOn(box, \"END\")\n  |> circle([10, 10], 4, %)\n  |> revolve({\n       angle: 90,\n       axis: getOppositeEdge(revolveAxis)\n     }, %)",
      "const box = startSketchOn('XY')\n  |> startProfileAt([0, 0], %)\n  |> line([0, 20], %)\n  |> line([20, 0], %)\n  |> line([0, -20], %, $revolveAxis)\n  |> close(%)\n  |> extrude(20, %)\n\nconst sketch001 = startSketchOn(box, \"END\")\n  |> circle([10, 10], 4, %)\n  |> revolve({\n       angle: 90,\n       axis: getOppositeEdge(revolveAxis),\n       tolerance: 0.0001\n     }, %)",
      "const sketch001 = startSketchOn('XY')\n  |> startProfileAt([10, 0], %)\n  |> line([5, -5], %)\n  |> line([5, 5], %)\n  |> lineTo([profileStartX(%), profileStartY(%)], %)\n  |> close(%)\n\nconst part001 = revolve({\n  axis: {\n    custom: {\n      axis: [0.0, 1.0, 0.0],\n      origin: [0.0, 0.0, 0.0]\n    }\n  }\n}, sketch001)"
    ]
  },
  {
    "name": "segAng",
    "summary": "Compute the angle (in degrees) of the provided line segment.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([5, 10], %, $seg01)\n  |> line([-10, 0], %)\n  |> angledLine([segAng(seg01), 10], %)\n  |> line([-10, 0], %)\n  |> angledLine([segAng(seg01), -15], %)\n  |> close(%)\n\nconst example = extrude(4, exampleSketch)"
    ]
  },
  {
    "name": "segEndX",
    "summary": "Compute the ending point of the provided line segment along the 'x' axis.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([20, 0], %, $thing)\n  |> line([0, 5], %)\n  |> line([segEndX(thing), 0], %)\n  |> line([-20, 10], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "segEndY",
    "summary": "Compute the ending point of the provided line segment along the 'y' axis.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([20, 0], %)\n  |> line([0, 3], %, $thing)\n  |> line([-10, 0], %)\n  |> line([0, segEndY(thing)], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "segLen",
    "summary": "Compute the length of the provided line segment.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "type": "object",
          "required": [
            "__meta",
            "value"
          ],
          "properties": {
            "__meta": {
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "info": {
              "description": "Engine information for a tag.",
              "type": "object",
              "required": [
                "id",
                "sketchGroup"
              ],
              "properties": {
                "id": {
                  "description": "The id of the tagged object.",
                  "type": "string",
                  "format": "uuid"
                },
                "path": {
                  "description": "The path the tag is on.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  },
                  "nullable": true
                },
                "sketchGroup": {
                  "description": "The sketch group the tag is on.",
                  "type": "string",
                  "format": "uuid"
                },
                "surface": {
                  "description": "The surface information for the tag.",
                  "oneOf": [
                    {
                      "description": "An extrude plane.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudePlane"
                          ]
                        }
                      }
                    },
                    {
                      "description": "An extruded arc.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The face id for the extrude plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "extrudeArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the chamfer surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "chamfer"
                          ]
                        }
                      }
                    },
                    {
                      "description": "Geometry metadata.",
                      "type": "object",
                      "required": [
                        "faceId",
                        "id",
                        "sourceRange",
                        "type"
                      ],
                      "properties": {
                        "faceId": {
                          "description": "The id for the fillet surface.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "fillet"
                          ]
                        }
                      }
                    }
                  ],
                  "nullable": true
                }
              },
              "nullable": true
            },
            "value": {
              "type": "string"
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %, $thing)\n  |> tangentialArc({ offset: -120, radius: 5 }, %)\n  |> angledLine({ angle: -60, length: segLen(thing) }, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "shell",
    "summary": "Remove volume from a 3-dimensional shape such that a wall of the",
    "description": "provided thickness remains, taking volume starting at the provided face, leaving it open in that direction.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "ShellData",
        "schema": {
          "description": "Data for shells.",
          "type": "object",
          "required": [
            "faces",
            "thickness"
          ],
          "properties": {
            "faces": {
              "description": "The faces you want removed.",
              "type": "array",
              "items": {
                "description": "A tag for a face.",
                "anyOf": [
                  {
                    "oneOf": [
                      {
                        "description": "The start face as in before you extruded. This could also be known as the bottom face. But we do not call it bottom because it would be the top face if you extruded it in the opposite direction or flipped the camera.",
                        "type": "string",
                        "enum": [
                          "start"
                        ]
                      },
                      {
                        "description": "The end face after you extruded. This could also be known as the top face. But we do not call it top because it would be the bottom face if you extruded it in the opposite direction or flipped the camera.",
                        "type": "string",
                        "enum": [
                          "end"
                        ]
                      }
                    ]
                  },
                  {
                    "description": "A tag for the face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            },
            "thickness": {
              "description": "The thickness of the shell.",
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true
      },
      {
        "name": "extrude_group",
        "type": "ExtrudeGroup",
        "schema": {
          "description": "An extrude group is a collection of extrude surfaces.",
          "type": "object",
          "required": [
            "__meta",
            "height",
            "id",
            "sketchGroup",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "edgeCuts": {
              "description": "Chamfers or fillets on this extrude group.",
              "type": "array",
              "items": {
                "description": "A fillet or a chamfer.",
                "oneOf": [
                  {
                    "description": "A fillet.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "radius",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this fillet.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "radius": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A chamfer.",
                    "type": "object",
                    "required": [
                      "edgeId",
                      "id",
                      "length",
                      "type"
                    ],
                    "properties": {
                      "edgeId": {
                        "description": "The engine id of the edge to chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the engine command that called this chamfer.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "length": {
                        "type": "number",
                        "format": "double"
                      },
                      "tag": {
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "endCapId": {
              "description": "The id of the extrusion end cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "height": {
              "description": "The height of the extrude group.",
              "type": "number",
              "format": "double"
            },
            "id": {
              "description": "The id of the extrude group.",
              "type": "string",
              "format": "uuid"
            },
            "sketchGroup": {
              "description": "The sketch group.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "on",
                "start",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                  "type": "string",
                  "format": "uuid"
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "oneOf": [
                    {
                      "description": "A plane.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "origin",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the plane.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "plane"
                          ]
                        },
                        "value": {
                          "description": "Type for a plane.",
                          "oneOf": [
                            {
                              "type": "string",
                              "enum": [
                                "XY",
                                "XZ",
                                "YZ"
                              ]
                            },
                            {
                              "description": "A custom plane.",
                              "type": "string",
                              "enum": [
                                "Custom"
                              ]
                            }
                          ]
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    },
                    {
                      "description": "A face.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "extrudeGroup",
                        "id",
                        "type",
                        "value",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "__meta": {
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "extrudeGroup": {
                          "description": "The extrude group the face is on.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "height",
                            "id",
                            "sketchGroup",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "edgeCuts": {
                              "description": "Chamfers or fillets on this extrude group.",
                              "type": "array",
                              "items": {
                                "description": "A fillet or a chamfer.",
                                "oneOf": [
                                  {
                                    "description": "A fillet.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "radius",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this fillet.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "radius": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A chamfer.",
                                    "type": "object",
                                    "required": [
                                      "edgeId",
                                      "id",
                                      "length",
                                      "type"
                                    ],
                                    "properties": {
                                      "edgeId": {
                                        "description": "The engine id of the edge to chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the engine command that called this chamfer.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "length": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "tag": {
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "endCapId": {
                              "description": "The id of the extrusion end cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "height": {
                              "description": "The height of the extrude group.",
                              "type": "number",
                              "format": "double"
                            },
                            "id": {
                              "description": "The id of the extrude group.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sketchGroup": {
                              "description": "The sketch group.",
                              "$ref": "#/components/schemas/SketchGroup"
                            },
                            "startCapId": {
                              "description": "The id of the extrusion start cap",
                              "type": "string",
                              "format": "uuid",
                              "nullable": true
                            },
                            "value": {
                              "description": "The extrude surfaces.",
                              "type": "array",
                              "items": {
                                "description": "An extrude surface.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the face.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "face"
                          ]
                        },
                        "value": {
                          "description": "The tag of the face.",
                          "type": "string"
                        },
                        "xAxis": {
                          "description": "What should the face’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the face’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch group.",
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "__meta",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "info": {
                        "description": "Engine information for a tag.",
                        "type": "object",
                        "required": [
                          "id",
                          "sketchGroup"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the tagged object.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "path": {
                            "description": "The path the tag is on.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            },
                            "nullable": true
                          },
                          "sketchGroup": {
                            "description": "The sketch group the tag is on.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "surface": {
                            "description": "The surface information for the tag.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ],
                            "nullable": true
                          }
                        },
                        "nullable": true
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                "value": {
                  "description": "The paths in the sketch group.",
                  "type": "array",
                  "items": {
                    "description": "A path.",
                    "oneOf": [
                      {
                        "description": "A path that goes to a point.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "ToPoint"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment that goes to a point",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArcTo"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A arc that is tangential to the last path segment",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "ccw",
                          "center",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "ccw": {
                            "description": "arc's direction",
                            "type": "boolean"
                          },
                          "center": {
                            "description": "the arc's center",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "TangentialArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A path that is horizontal.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type",
                          "x"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Horizontal"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      {
                        "description": "An angled line to.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "AngledLineTo"
                            ]
                          },
                          "x": {
                            "description": "The x coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          },
                          "y": {
                            "description": "The y coordinate.",
                            "type": "number",
                            "format": "double",
                            "nullable": true
                          }
                        }
                      },
                      {
                        "description": "A base path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to",
                          "type"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "Base"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "startCapId": {
              "description": "The id of the extrusion start cap",
              "type": "string",
              "format": "uuid",
              "nullable": true
            },
            "value": {
              "description": "The extrude surfaces.",
              "type": "array",
              "items": {
                "description": "An extrude surface.",
                "oneOf": [
                  {
                    "description": "An extrude plane.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudePlane"
                        ]
                      }
                    }
                  },
                  {
                    "description": "An extruded arc.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The face id for the extrude plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "extrudeArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the chamfer surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "chamfer"
                        ]
                      }
                    }
                  },
                  {
                    "description": "Geometry metadata.",
                    "type": "object",
                    "required": [
                      "faceId",
                      "id",
                      "sourceRange",
                      "type"
                    ],
                    "properties": {
                      "faceId": {
                        "description": "The id for the fillet surface.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "fillet"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "ExtrudeGroup",
      "schema": {
        "description": "An extrude group is a collection of extrude surfaces.",
        "type": "object",
        "required": [
          "__meta",
          "height",
          "id",
          "sketchGroup",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this extrude group.",
            "type": "array",
            "items": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "type": "number",
                      "format": "double"
                    },
                    "tag": {
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "height": {
            "description": "The height of the extrude group.",
            "type": "number",
            "format": "double"
          },
          "id": {
            "description": "The id of the extrude group.",
            "type": "string",
            "format": "uuid"
          },
          "sketchGroup": {
            "description": "The sketch group.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "on",
              "start",
              "value"
            ],
            "properties": {
              "__meta": {
                "description": "Metadata.",
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                "type": "string",
                "format": "uuid"
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "oneOf": [
                  {
                    "description": "A plane.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "origin",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the plane.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "origin": {
                        "description": "Origin of the plane.",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "plane"
                        ]
                      },
                      "value": {
                        "description": "Type for a plane.",
                        "oneOf": [
                          {
                            "type": "string",
                            "enum": [
                              "XY",
                              "XZ",
                              "YZ"
                            ]
                          },
                          {
                            "description": "A custom plane.",
                            "type": "string",
                            "enum": [
                              "Custom"
                            ]
                          }
                        ]
                      },
                      "xAxis": {
                        "description": "What should the plane’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the plane’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "A face.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "extrudeGroup",
                      "id",
                      "type",
                      "value",
                      "xAxis",
                      "yAxis",
                      "zAxis"
                    ],
                    "properties": {
                      "__meta": {
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "extrudeGroup": {
                        "description": "The extrude group the face is on.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "height",
                          "id",
                          "sketchGroup",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "edgeCuts": {
                            "description": "Chamfers or fillets on this extrude group.",
                            "type": "array",
                            "items": {
                              "description": "A fillet or a chamfer.",
                              "oneOf": [
                                {
                                  "description": "A fillet.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "radius",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this fillet.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "radius": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A chamfer.",
                                  "type": "object",
                                  "required": [
                                    "edgeId",
                                    "id",
                                    "length",
                                    "type"
                                  ],
                                  "properties": {
                                    "edgeId": {
                                      "description": "The engine id of the edge to chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the engine command that called this chamfer.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "length": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "tag": {
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          "endCapId": {
                            "description": "The id of the extrusion end cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "height": {
                            "description": "The height of the extrude group.",
                            "type": "number",
                            "format": "double"
                          },
                          "id": {
                            "description": "The id of the extrude group.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sketchGroup": {
                            "description": "The sketch group.",
                            "$ref": "#/components/schemas/SketchGroup"
                          },
                          "startCapId": {
                            "description": "The id of the extrusion start cap",
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "value": {
                            "description": "The extrude surfaces.",
                            "type": "array",
                            "items": {
                              "description": "An extrude surface.",
                              "oneOf": [
                                {
                                  "description": "An extrude plane.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudePlane"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "An extruded arc.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The face id for the extrude plane.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "extrudeArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the chamfer surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "chamfer"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "Geometry metadata.",
                                  "type": "object",
                                  "required": [
                                    "faceId",
                                    "id",
                                    "sourceRange",
                                    "type"
                                  ],
                                  "properties": {
                                    "faceId": {
                                      "description": "The id for the fillet surface.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "fillet"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the face.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "face"
                        ]
                      },
                      "value": {
                        "description": "The tag of the face.",
                        "type": "string"
                      },
                      "xAxis": {
                        "description": "What should the face’s X axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "yAxis": {
                        "description": "What should the face’s Y axis be?",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      },
                      "zAxis": {
                        "description": "The z-axis (normal).",
                        "type": "object",
                        "required": [
                          "x",
                          "y",
                          "z"
                        ],
                        "properties": {
                          "x": {
                            "type": "number",
                            "format": "double"
                          },
                          "y": {
                            "type": "number",
                            "format": "double"
                          },
                          "z": {
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to"
                ],
                "properties": {
                  "__geoMeta": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "id",
                      "sourceRange"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the geometry.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  },
                  "from": {
                    "description": "The from point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "type": "object",
                    "required": [
                      "end",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "digest": {
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint8",
                          "minimum": 0.0
                        },
                        "maxItems": 32,
                        "minItems": 32,
                        "nullable": true
                      },
                      "end": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "start": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "nullable": true
                  },
                  "to": {
                    "description": "The to point.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch group.",
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "__meta",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "info": {
                      "description": "Engine information for a tag.",
                      "type": "object",
                      "required": [
                        "id",
                        "sketchGroup"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the tagged object.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "path": {
                          "description": "The path the tag is on.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          },
                          "nullable": true
                        },
                        "sketchGroup": {
                          "description": "The sketch group the tag is on.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "surface": {
                          "description": "The surface information for the tag.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "nullable": true
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              },
              "value": {
                "description": "The paths in the sketch group.",
                "type": "array",
                "items": {
                  "description": "A path.",
                  "oneOf": [
                    {
                      "description": "A path that goes to a point.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ToPoint"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment that goes to a point",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArcTo"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A arc that is tangential to the last path segment",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "ccw",
                        "center",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "ccw": {
                          "description": "arc's direction",
                          "type": "boolean"
                        },
                        "center": {
                          "description": "the arc's center",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "TangentialArc"
                          ]
                        }
                      }
                    },
                    {
                      "description": "A path that is horizontal.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type",
                        "x"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Horizontal"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    {
                      "description": "An angled line to.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "AngledLineTo"
                          ]
                        },
                        "x": {
                          "description": "The x coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        },
                        "y": {
                          "description": "The y coordinate.",
                          "type": "number",
                          "format": "double",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "description": "A base path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to",
                        "type"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "Base"
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const firstSketch = startSketchOn('XY')\n  |> startProfileAt([-12, 12], %)\n  |> line([24, 0], %)\n  |> line([0, -24], %)\n  |> line([-24, 0], %)\n  |> close(%)\n  |> extrude(6, %)\n\n// Remove the end face for the extrusion.\nshell({ faces: ['end'], thickness: 0.25 }, firstSketch)",
      "const firstSketch = startSketchOn('-XZ')\n  |> startProfileAt([-12, 12], %)\n  |> line([24, 0], %)\n  |> line([0, -24], %)\n  |> line([-24, 0], %)\n  |> close(%)\n  |> extrude(6, %)\n\n// Remove the start face for the extrusion.\nshell({ faces: ['start'], thickness: 0.25 }, firstSketch)",
      "const firstSketch = startSketchOn('XY')\n  |> startProfileAt([-12, 12], %)\n  |> line([24, 0], %)\n  |> line([0, -24], %)\n  |> line([-24, 0], %, $myTag)\n  |> close(%)\n  |> extrude(6, %)\n\n// Remove a tagged face for the extrusion.\nshell({ faces: [myTag], thickness: 0.25 }, firstSketch)"
    ]
  },
  {
    "name": "sin",
    "summary": "Compute the sine of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 50,\n       length: 15 / sin(toDegrees(135))\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "sqrt",
    "summary": "Compute the square root of a number.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 50, length: sqrt(2500) }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "startProfileAt",
    "summary": "Start a new profile at a given point.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "to",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "sketch_surface",
        "type": "SketchSurface",
        "schema": {
          "description": "A sketch group type.",
          "oneOf": [
            {
              "description": "A plane.",
              "type": "object",
              "required": [
                "__meta",
                "id",
                "origin",
                "type",
                "value",
                "xAxis",
                "yAxis",
                "zAxis"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the plane.",
                  "type": "string",
                  "format": "uuid"
                },
                "origin": {
                  "description": "Origin of the plane.",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "plane"
                  ]
                },
                "value": {
                  "description": "Type for a plane.",
                  "oneOf": [
                    {
                      "type": "string",
                      "enum": [
                        "XY",
                        "XZ",
                        "YZ"
                      ]
                    },
                    {
                      "description": "A custom plane.",
                      "type": "string",
                      "enum": [
                        "Custom"
                      ]
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane’s X axis be?",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                "yAxis": {
                  "description": "What should the plane’s Y axis be?",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                "zAxis": {
                  "description": "The z-axis (normal).",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                }
              }
            },
            {
              "description": "A face.",
              "type": "object",
              "required": [
                "__meta",
                "extrudeGroup",
                "id",
                "type",
                "value",
                "xAxis",
                "yAxis",
                "zAxis"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "extrudeGroup": {
                  "description": "The extrude group the face is on.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "height",
                    "id",
                    "sketchGroup",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "edgeCuts": {
                      "description": "Chamfers or fillets on this extrude group.",
                      "type": "array",
                      "items": {
                        "description": "A fillet or a chamfer.",
                        "oneOf": [
                          {
                            "description": "A fillet.",
                            "type": "object",
                            "required": [
                              "edgeId",
                              "id",
                              "radius",
                              "type"
                            ],
                            "properties": {
                              "edgeId": {
                                "description": "The engine id of the edge to fillet.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the engine command that called this fillet.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "radius": {
                                "type": "number",
                                "format": "double"
                              },
                              "tag": {
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A chamfer.",
                            "type": "object",
                            "required": [
                              "edgeId",
                              "id",
                              "length",
                              "type"
                            ],
                            "properties": {
                              "edgeId": {
                                "description": "The engine id of the edge to chamfer.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the engine command that called this chamfer.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "length": {
                                "type": "number",
                                "format": "double"
                              },
                              "tag": {
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    },
                    "endCapId": {
                      "description": "The id of the extrusion end cap",
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "height": {
                      "description": "The height of the extrude group.",
                      "type": "number",
                      "format": "double"
                    },
                    "id": {
                      "description": "The id of the extrude group.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sketchGroup": {
                      "description": "The sketch group.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "id",
                        "on",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "id": {
                          "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "on": {
                          "description": "What the sketch is on (can be a plane or a face).",
                          "oneOf": [
                            {
                              "description": "A plane.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "id",
                                "origin",
                                "type",
                                "value",
                                "xAxis",
                                "yAxis",
                                "zAxis"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "id": {
                                  "description": "The id of the plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "origin": {
                                  "description": "Origin of the plane.",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "plane"
                                  ]
                                },
                                "value": {
                                  "description": "Type for a plane.",
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "XY",
                                        "XZ",
                                        "YZ"
                                      ]
                                    },
                                    {
                                      "description": "A custom plane.",
                                      "type": "string",
                                      "enum": [
                                        "Custom"
                                      ]
                                    }
                                  ]
                                },
                                "xAxis": {
                                  "description": "What should the plane’s X axis be?",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                "yAxis": {
                                  "description": "What should the plane’s Y axis be?",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                "zAxis": {
                                  "description": "The z-axis (normal).",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "description": "A face.",
                              "type": "object",
                              "required": [
                                "__meta",
                                "extrudeGroup",
                                "id",
                                "type",
                                "value",
                                "xAxis",
                                "yAxis",
                                "zAxis"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "extrudeGroup": {
                                  "description": "The extrude group the face is on.",
                                  "$ref": "#/components/schemas/ExtrudeGroup"
                                },
                                "id": {
                                  "description": "The id of the face.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "face"
                                  ]
                                },
                                "value": {
                                  "description": "The tag of the face.",
                                  "type": "string"
                                },
                                "xAxis": {
                                  "description": "What should the face’s X axis be?",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                "yAxis": {
                                  "description": "What should the face’s Y axis be?",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                "zAxis": {
                                  "description": "The z-axis (normal).",
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y",
                                    "z"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "y": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "z": {
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        },
                        "start": {
                          "description": "The starting path.",
                          "type": "object",
                          "required": [
                            "__geoMeta",
                            "from",
                            "to"
                          ],
                          "properties": {
                            "__geoMeta": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "id",
                                "sourceRange"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "from": {
                              "description": "The from point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag of the path.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "to": {
                              "description": "The to point.",
                              "type": "array",
                              "items": {
                                "type": "number",
                                "format": "double"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "tags": {
                          "description": "Tag identifiers that have been declared in this sketch group.",
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "required": [
                              "__meta",
                              "value"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "info": {
                                "description": "Engine information for a tag.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sketchGroup"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the tagged object.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "path": {
                                    "description": "The path the tag is on.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "sketchGroup": {
                                    "description": "The sketch group the tag is on.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "surface": {
                                    "description": "The surface information for the tag.",
                                    "oneOf": [
                                      {
                                        "description": "An extrude plane.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudePlane"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "An extruded arc.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The face id for the extrude plane.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "extrudeArc"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the chamfer surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "chamfer"
                                            ]
                                          }
                                        }
                                      },
                                      {
                                        "description": "Geometry metadata.",
                                        "type": "object",
                                        "required": [
                                          "faceId",
                                          "id",
                                          "sourceRange",
                                          "type"
                                        ],
                                        "properties": {
                                          "faceId": {
                                            "description": "The id for the fillet surface.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "fillet"
                                            ]
                                          }
                                        }
                                      }
                                    ],
                                    "nullable": true
                                  }
                                },
                                "nullable": true
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "value": {
                          "description": "The paths in the sketch group.",
                          "type": "array",
                          "items": {
                            "description": "A path.",
                            "oneOf": [
                              {
                                "description": "A path that goes to a point.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to",
                                  "type"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "ToPoint"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A arc that is tangential to the last path segment that goes to a point",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "ccw",
                                  "center",
                                  "from",
                                  "to",
                                  "type"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "ccw": {
                                    "description": "arc's direction",
                                    "type": "boolean"
                                  },
                                  "center": {
                                    "description": "the arc's center",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "TangentialArcTo"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A arc that is tangential to the last path segment",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "ccw",
                                  "center",
                                  "from",
                                  "to",
                                  "type"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "ccw": {
                                    "description": "arc's direction",
                                    "type": "boolean"
                                  },
                                  "center": {
                                    "description": "the arc's center",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "TangentialArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A path that is horizontal.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to",
                                  "type",
                                  "x"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "Horizontal"
                                    ]
                                  },
                                  "x": {
                                    "description": "The x coordinate.",
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              {
                                "description": "An angled line to.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to",
                                  "type"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "AngledLineTo"
                                    ]
                                  },
                                  "x": {
                                    "description": "The x coordinate.",
                                    "type": "number",
                                    "format": "double",
                                    "nullable": true
                                  },
                                  "y": {
                                    "description": "The y coordinate.",
                                    "type": "number",
                                    "format": "double",
                                    "nullable": true
                                  }
                                }
                              },
                              {
                                "description": "A base path.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to",
                                  "type"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "Base"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "startCapId": {
                      "description": "The id of the extrusion start cap",
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "value": {
                      "description": "The extrude surfaces.",
                      "type": "array",
                      "items": {
                        "description": "An extrude surface.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "id": {
                  "description": "The id of the face.",
                  "type": "string",
                  "format": "uuid"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "face"
                  ]
                },
                "value": {
                  "description": "The tag of the face.",
                  "type": "string"
                },
                "xAxis": {
                  "description": "What should the face’s X axis be?",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                "yAxis": {
                  "description": "What should the face’s Y axis be?",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                "zAxis": {
                  "description": "The z-axis (normal).",
                  "type": "object",
                  "required": [
                    "x",
                    "y",
                    "z"
                  ],
                  "properties": {
                    "x": {
                      "type": "number",
                      "format": "double"
                    },
                    "y": {
                      "type": "number",
                      "format": "double"
                    },
                    "z": {
                      "type": "number",
                      "format": "double"
                    }
                  }
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchOn('-XZ')\n  |> startProfileAt([10, 10], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchOn('-XZ')\n  |> startProfileAt([-10, 23], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "startSketchAt",
    "summary": "Start a new 2-dimensional sketch at a given point on the 'XY' plane.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchAt([0, 0])\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchAt([10, 10])\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)",
      "const exampleSketch = startSketchAt([-10, 23])\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "startSketchOn",
    "summary": "Start a new 2-dimensional sketch on a specific plane or face.",
    "description": "",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "SketchData",
        "schema": {
          "description": "Data for start sketch on. You can start a sketch on a plane or an extrude group.",
          "anyOf": [
            {
              "description": "Data for a plane.",
              "oneOf": [
                {
                  "description": "The XY plane.",
                  "type": "string",
                  "enum": [
                    "XY"
                  ]
                },
                {
                  "description": "The opposite side of the XY plane.",
                  "type": "string",
                  "enum": [
                    "-XY"
                  ]
                },
                {
                  "description": "The XZ plane.",
                  "type": "string",
                  "enum": [
                    "XZ"
                  ]
                },
                {
                  "description": "The opposite side of the XZ plane.",
                  "type": "string",
                  "enum": [
                    "-XZ"
                  ]
                },
                {
                  "description": "The YZ plane.",
                  "type": "string",
                  "enum": [
                    "YZ"
                  ]
                },
                {
                  "description": "The opposite side of the YZ plane.",
                  "type": "string",
                  "enum": [
                    "-YZ"
                  ]
                },
                {
                  "description": "A defined plane.",
                  "type": "object",
                  "required": [
                    "plane"
                  ],
                  "properties": {
                    "plane": {
                      "type": "object",
                      "required": [
                        "origin",
                        "xAxis",
                        "yAxis",
                        "zAxis"
                      ],
                      "properties": {
                        "origin": {
                          "description": "Origin of the plane.",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "xAxis": {
                          "description": "What should the plane’s X axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "yAxis": {
                          "description": "What should the plane’s Y axis be?",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        },
                        "zAxis": {
                          "description": "The z-axis (normal).",
                          "type": "object",
                          "required": [
                            "x",
                            "y",
                            "z"
                          ],
                          "properties": {
                            "x": {
                              "type": "number",
                              "format": "double"
                            },
                            "y": {
                              "type": "number",
                              "format": "double"
                            },
                            "z": {
                              "type": "number",
                              "format": "double"
                            }
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            {
              "description": "An extrude group is a collection of extrude surfaces.",
              "type": "object",
              "required": [
                "__meta",
                "height",
                "id",
                "sketchGroup",
                "value"
              ],
              "properties": {
                "__meta": {
                  "description": "Metadata.",
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this extrude group.",
                  "type": "array",
                  "items": {
                    "description": "A fillet or a chamfer.",
                    "oneOf": [
                      {
                        "description": "A fillet.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "radius",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this fillet.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "radius": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      },
                      {
                        "description": "A chamfer.",
                        "type": "object",
                        "required": [
                          "edgeId",
                          "id",
                          "length",
                          "type"
                        ],
                        "properties": {
                          "edgeId": {
                            "description": "The engine id of the edge to chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the engine command that called this chamfer.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "length": {
                            "type": "number",
                            "format": "double"
                          },
                          "tag": {
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "height": {
                  "description": "The height of the extrude group.",
                  "type": "number",
                  "format": "double"
                },
                "id": {
                  "description": "The id of the extrude group.",
                  "type": "string",
                  "format": "uuid"
                },
                "sketchGroup": {
                  "description": "The sketch group.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "on",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "__meta": {
                      "description": "Metadata.",
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "on": {
                      "description": "What the sketch is on (can be a plane or a face).",
                      "oneOf": [
                        {
                          "description": "A plane.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "origin",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "origin": {
                              "description": "Origin of the plane.",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "plane"
                              ]
                            },
                            "value": {
                              "description": "Type for a plane.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "XY",
                                    "XZ",
                                    "YZ"
                                  ]
                                },
                                {
                                  "description": "A custom plane.",
                                  "type": "string",
                                  "enum": [
                                    "Custom"
                                  ]
                                }
                              ]
                            },
                            "xAxis": {
                              "description": "What should the plane’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the plane’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        },
                        {
                          "description": "A face.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "extrudeGroup",
                            "id",
                            "type",
                            "value",
                            "xAxis",
                            "yAxis",
                            "zAxis"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "extrudeGroup": {
                              "description": "The extrude group the face is on.",
                              "$ref": "#/components/schemas/ExtrudeGroup"
                            },
                            "id": {
                              "description": "The id of the face.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "face"
                              ]
                            },
                            "value": {
                              "description": "The tag of the face.",
                              "type": "string"
                            },
                            "xAxis": {
                              "description": "What should the face’s X axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "yAxis": {
                              "description": "What should the face’s Y axis be?",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            "zAxis": {
                              "description": "The z-axis (normal).",
                              "type": "object",
                              "required": [
                                "x",
                                "y",
                                "z"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "y": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "z": {
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      ]
                    },
                    "start": {
                      "description": "The starting path.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "tags": {
                      "description": "Tag identifiers that have been declared in this sketch group.",
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "__meta",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "info": {
                            "description": "Engine information for a tag.",
                            "type": "object",
                            "required": [
                              "id",
                              "sketchGroup"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the tagged object.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "path": {
                                "description": "The path the tag is on.",
                                "type": "object",
                                "required": [
                                  "__geoMeta",
                                  "from",
                                  "to"
                                ],
                                "properties": {
                                  "__geoMeta": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  },
                                  "from": {
                                    "description": "The from point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag of the path.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "to": {
                                    "description": "The to point.",
                                    "type": "array",
                                    "items": {
                                      "type": "number",
                                      "format": "double"
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                },
                                "nullable": true
                              },
                              "sketchGroup": {
                                "description": "The sketch group the tag is on.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "surface": {
                                "description": "The surface information for the tag.",
                                "oneOf": [
                                  {
                                    "description": "An extrude plane.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudePlane"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "An extruded arc.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The face id for the extrude plane.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "extrudeArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the chamfer surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "chamfer"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "Geometry metadata.",
                                    "type": "object",
                                    "required": [
                                      "faceId",
                                      "id",
                                      "sourceRange",
                                      "type"
                                    ],
                                    "properties": {
                                      "faceId": {
                                        "description": "The id for the fillet surface.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "id": {
                                        "description": "The id of the geometry.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "fillet"
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "nullable": true
                              }
                            },
                            "nullable": true
                          },
                          "value": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "value": {
                      "description": "The paths in the sketch group.",
                      "type": "array",
                      "items": {
                        "description": "A path.",
                        "oneOf": [
                          {
                            "description": "A path that goes to a point.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "ToPoint"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment that goes to a point",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArcTo"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A arc that is tangential to the last path segment",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "ccw",
                              "center",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "ccw": {
                                "description": "arc's direction",
                                "type": "boolean"
                              },
                              "center": {
                                "description": "the arc's center",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "TangentialArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "A path that is horizontal.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type",
                              "x"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Horizontal"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double"
                              }
                            }
                          },
                          {
                            "description": "An angled line to.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "AngledLineTo"
                                ]
                              },
                              "x": {
                                "description": "The x coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              },
                              "y": {
                                "description": "The y coordinate.",
                                "type": "number",
                                "format": "double",
                                "nullable": true
                              }
                            }
                          },
                          {
                            "description": "A base path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to",
                              "type"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Base"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "description": "An extrude surface.",
                    "oneOf": [
                      {
                        "description": "An extrude plane.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudePlane"
                            ]
                          }
                        }
                      },
                      {
                        "description": "An extruded arc.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The face id for the extrude plane.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "extrudeArc"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the chamfer surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "chamfer"
                            ]
                          }
                        }
                      },
                      {
                        "description": "Geometry metadata.",
                        "type": "object",
                        "required": [
                          "faceId",
                          "id",
                          "sourceRange",
                          "type"
                        ],
                        "properties": {
                          "faceId": {
                            "description": "The id for the fillet surface.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "fillet"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "FaceTag",
        "schema": {
          "description": "A tag for a face.",
          "anyOf": [
            {
              "oneOf": [
                {
                  "description": "The start face as in before you extruded. This could also be known as the bottom face. But we do not call it bottom because it would be the top face if you extruded it in the opposite direction or flipped the camera.",
                  "type": "string",
                  "enum": [
                    "start"
                  ]
                },
                {
                  "description": "The end face after you extruded. This could also be known as the top face. But we do not call it top because it would be the bottom face if you extruded it in the opposite direction or flipped the camera.",
                  "type": "string",
                  "enum": [
                    "end"
                  ]
                }
              ]
            },
            {
              "description": "A tag for the face.",
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          ],
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchSurface",
      "schema": {
        "description": "A sketch group type.",
        "oneOf": [
          {
            "description": "A plane.",
            "type": "object",
            "required": [
              "__meta",
              "id",
              "origin",
              "type",
              "value",
              "xAxis",
              "yAxis",
              "zAxis"
            ],
            "properties": {
              "__meta": {
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the plane.",
                "type": "string",
                "format": "uuid"
              },
              "origin": {
                "description": "Origin of the plane.",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "plane"
                ]
              },
              "value": {
                "description": "Type for a plane.",
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "XY",
                      "XZ",
                      "YZ"
                    ]
                  },
                  {
                    "description": "A custom plane.",
                    "type": "string",
                    "enum": [
                      "Custom"
                    ]
                  }
                ]
              },
              "xAxis": {
                "description": "What should the plane’s X axis be?",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "yAxis": {
                "description": "What should the plane’s Y axis be?",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "zAxis": {
                "description": "The z-axis (normal).",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              }
            }
          },
          {
            "description": "A face.",
            "type": "object",
            "required": [
              "__meta",
              "extrudeGroup",
              "id",
              "type",
              "value",
              "xAxis",
              "yAxis",
              "zAxis"
            ],
            "properties": {
              "__meta": {
                "type": "array",
                "items": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "sourceRange"
                  ],
                  "properties": {
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                }
              },
              "extrudeGroup": {
                "description": "The extrude group the face is on.",
                "type": "object",
                "required": [
                  "__meta",
                  "height",
                  "id",
                  "sketchGroup",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "description": "Metadata.",
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "edgeCuts": {
                    "description": "Chamfers or fillets on this extrude group.",
                    "type": "array",
                    "items": {
                      "description": "A fillet or a chamfer.",
                      "oneOf": [
                        {
                          "description": "A fillet.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "radius",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this fillet.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "radius": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        },
                        {
                          "description": "A chamfer.",
                          "type": "object",
                          "required": [
                            "edgeId",
                            "id",
                            "length",
                            "type"
                          ],
                          "properties": {
                            "edgeId": {
                              "description": "The engine id of the edge to chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the engine command that called this chamfer.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "length": {
                              "type": "number",
                              "format": "double"
                            },
                            "tag": {
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  "endCapId": {
                    "description": "The id of the extrusion end cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "height": {
                    "description": "The height of the extrude group.",
                    "type": "number",
                    "format": "double"
                  },
                  "id": {
                    "description": "The id of the extrude group.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sketchGroup": {
                    "description": "The sketch group.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "id",
                      "on",
                      "start",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "id": {
                        "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "on": {
                        "description": "What the sketch is on (can be a plane or a face).",
                        "oneOf": [
                          {
                            "description": "A plane.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "id",
                              "origin",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "id": {
                                "description": "The id of the plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "origin": {
                                "description": "Origin of the plane.",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "plane"
                                ]
                              },
                              "value": {
                                "description": "Type for a plane.",
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "XY",
                                      "XZ",
                                      "YZ"
                                    ]
                                  },
                                  {
                                    "description": "A custom plane.",
                                    "type": "string",
                                    "enum": [
                                      "Custom"
                                    ]
                                  }
                                ]
                              },
                              "xAxis": {
                                "description": "What should the plane’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the plane’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          },
                          {
                            "description": "A face.",
                            "type": "object",
                            "required": [
                              "__meta",
                              "extrudeGroup",
                              "id",
                              "type",
                              "value",
                              "xAxis",
                              "yAxis",
                              "zAxis"
                            ],
                            "properties": {
                              "__meta": {
                                "type": "array",
                                "items": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                }
                              },
                              "extrudeGroup": {
                                "description": "The extrude group the face is on.",
                                "$ref": "#/components/schemas/ExtrudeGroup"
                              },
                              "id": {
                                "description": "The id of the face.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "face"
                                ]
                              },
                              "value": {
                                "description": "The tag of the face.",
                                "type": "string"
                              },
                              "xAxis": {
                                "description": "What should the face’s X axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "yAxis": {
                                "description": "What should the face’s Y axis be?",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              },
                              "zAxis": {
                                "description": "The z-axis (normal).",
                                "type": "object",
                                "required": [
                                  "x",
                                  "y",
                                  "z"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "y": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "z": {
                                    "type": "number",
                                    "format": "double"
                                  }
                                }
                              }
                            }
                          }
                        ]
                      },
                      "start": {
                        "description": "The starting path.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "tags": {
                        "description": "Tag identifiers that have been declared in this sketch group.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "required": [
                            "__meta",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "info": {
                              "description": "Engine information for a tag.",
                              "type": "object",
                              "required": [
                                "id",
                                "sketchGroup"
                              ],
                              "properties": {
                                "id": {
                                  "description": "The id of the tagged object.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "path": {
                                  "description": "The path the tag is on.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  },
                                  "nullable": true
                                },
                                "sketchGroup": {
                                  "description": "The sketch group the tag is on.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "surface": {
                                  "description": "The surface information for the tag.",
                                  "oneOf": [
                                    {
                                      "description": "An extrude plane.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudePlane"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "An extruded arc.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The face id for the extrude plane.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "extrudeArc"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the chamfer surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "chamfer"
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "description": "Geometry metadata.",
                                      "type": "object",
                                      "required": [
                                        "faceId",
                                        "id",
                                        "sourceRange",
                                        "type"
                                      ],
                                      "properties": {
                                        "faceId": {
                                          "description": "The id for the fillet surface.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "fillet"
                                          ]
                                        }
                                      }
                                    }
                                  ],
                                  "nullable": true
                                }
                              },
                              "nullable": true
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "value": {
                        "description": "The paths in the sketch group.",
                        "type": "array",
                        "items": {
                          "description": "A path.",
                          "oneOf": [
                            {
                              "description": "A path that goes to a point.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "ToPoint"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment that goes to a point",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArcTo"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A arc that is tangential to the last path segment",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "ccw",
                                "center",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "ccw": {
                                  "description": "arc's direction",
                                  "type": "boolean"
                                },
                                "center": {
                                  "description": "the arc's center",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "TangentialArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A path that is horizontal.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type",
                                "x"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Horizontal"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            },
                            {
                              "description": "An angled line to.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "AngledLineTo"
                                  ]
                                },
                                "x": {
                                  "description": "The x coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                },
                                "y": {
                                  "description": "The y coordinate.",
                                  "type": "number",
                                  "format": "double",
                                  "nullable": true
                                }
                              }
                            },
                            {
                              "description": "A base path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to",
                                "type"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "Base"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "startCapId": {
                    "description": "The id of the extrusion start cap",
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "value": {
                    "description": "The extrude surfaces.",
                    "type": "array",
                    "items": {
                      "description": "An extrude surface.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "id": {
                "description": "The id of the face.",
                "type": "string",
                "format": "uuid"
              },
              "type": {
                "type": "string",
                "enum": [
                  "face"
                ]
              },
              "value": {
                "description": "The tag of the face.",
                "type": "string"
              },
              "xAxis": {
                "description": "What should the face’s X axis be?",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "yAxis": {
                "description": "What should the face’s Y axis be?",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              },
              "zAxis": {
                "description": "The z-axis (normal).",
                "type": "object",
                "required": [
                  "x",
                  "y",
                  "z"
                ],
                "properties": {
                  "x": {
                    "type": "number",
                    "format": "double"
                  },
                  "y": {
                    "type": "number",
                    "format": "double"
                  },
                  "z": {
                    "type": "number",
                    "format": "double"
                  }
                }
              }
            }
          }
        ]
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XY\")\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, 'end')\n  |> startProfileAt([1, 1], %)\n  |> line([8, 0], %)\n  |> line([0, 8], %)\n  |> line([-8, 0], %)\n  |> close(%)\n\nconst example002 = extrude(5, exampleSketch002)\n\nconst exampleSketch003 = startSketchOn(example002, 'end')\n  |> startProfileAt([2, 2], %)\n  |> line([6, 0], %)\n  |> line([0, 6], %)\n  |> line([-6, 0], %)\n  |> close(%)\n\nconst example003 = extrude(5, exampleSketch003)",
      "const exampleSketch = startSketchOn(\"XY\")\n  |> startProfileAt([0, 0], %)\n  |> line([10, 0], %)\n  |> line([0, 10], %, $sketchingFace)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, sketchingFace)\n  |> startProfileAt([1, 1], %)\n  |> line([8, 0], %)\n  |> line([0, 8], %)\n  |> line([-8, 0], %)\n  |> close(%, $sketchingFace002)\n\nconst example002 = extrude(10, exampleSketch002)\n\nconst exampleSketch003 = startSketchOn(example002, sketchingFace002)\n  |> startProfileAt([-8, 12], %)\n  |> line([0, 6], %)\n  |> line([6, 0], %)\n  |> line([0, -6], %)\n  |> close(%)\n\nconst example003 = extrude(5, exampleSketch003)",
      "const exampleSketch = startSketchOn('XY')\n  |> startProfileAt([4, 12], %)\n  |> line([2, 0], %)\n  |> line([0, -6], %)\n  |> line([4, -6], %)\n  |> line([0, -6], %)\n  |> line([-3.75, -4.5], %)\n  |> line([0, -5.5], %)\n  |> line([-2, 0], %)\n  |> close(%)\n\nconst example = revolve({ axis: 'y', angle: 180 }, exampleSketch)\n\nconst exampleSketch002 = startSketchOn(example, 'end')\n  |> startProfileAt([4.5, -5], %)\n  |> line([0, 5], %)\n  |> line([5, 0], %)\n  |> line([0, -5], %)\n  |> close(%)\n\nconst example002 = extrude(5, exampleSketch002)",
      "const a1 = startSketchOn({\n       plane: {\n         origin: { x: 0, y: 0, z: 0 },\n         xAxis: { x: 1, y: 0, z: 0 },\n         yAxis: { x: 0, y: 1, z: 0 },\n         zAxis: { x: 0, y: 0, z: 1 }\n       }\n     })\n  |> startProfileAt([0, 0], %)\n  |> line([100.0, 0], %)\n  |> yLine(-100.0, %)\n  |> xLine(-100.0, %)\n  |> yLine(100.0, %)\n  |> close(%)\n  |> extrude(3.14, %)"
    ]
  },
  {
    "name": "tan",
    "summary": "Compute the tangent of a number (in radians).",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 50, length: 50 * tan(1 / 2) }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "tangentialArc",
    "summary": "Starting at the current sketch's origin, draw a curved line segment along",
    "description": "some part of an imaginary circle of the specified radius.\nThe arc is constructed such that the last line segment is placed tangent to the imaginary circle of the specified radius. The resulting arc is the segment of the imaginary circle from that tangent point for 'offset' degrees along the imaginary circle.",
    "tags": [],
    "args": [
      {
        "name": "data",
        "type": "TangentialArcData",
        "schema": {
          "description": "Data to draw a tangential arc.",
          "anyOf": [
            {
              "type": "object",
              "required": [
                "offset",
                "radius"
              ],
              "properties": {
                "offset": {
                  "description": "Offset of the arc, in degrees.",
                  "type": "number",
                  "format": "double"
                },
                "radius": {
                  "description": "Radius of the arc. Not to be confused with Raiders of the Lost Ark.",
                  "type": "number",
                  "format": "double"
                }
              }
            }
          ]
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %)\n  |> tangentialArc({ radius: 10, offset: -120 }, %)\n  |> angledLine({ angle: -60, length: 10 }, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "tangentialArcTo",
    "summary": "Starting at the current sketch's origin, draw a curved line segment along",
    "description": "some part of an imaginary circle until it reaches the desired (x, y) coordinates.",
    "tags": [],
    "args": [
      {
        "name": "to",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 60, length: 10 }, %)\n  |> tangentialArcTo([15, 15], %)\n  |> line([10, -15], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "tangentialArcToRelative",
    "summary": "Starting at the current sketch's origin, draw a curved line segment along",
    "description": "some part of an imaginary circle until it reaches a point the given (x, y) distance away.",
    "tags": [],
    "args": [
      {
        "name": "delta",
        "type": "[number]",
        "schema": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 2,
          "minItems": 2
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 45, length: 10 }, %)\n  |> tangentialArcToRelative([0, -10], %)\n  |> line([-10, 0], %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "tau",
    "summary": "Return the value of `tau`. The full circle constant (τ). Equal to 2π.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 50, length: 10 * tau() }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "toDegrees",
    "summary": "Converts a number from radians to degrees.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 50,\n       length: 70 * cos(toDegrees(pi() / 4))\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "toRadians",
    "summary": "Converts a number from degrees to radians.",
    "description": "",
    "tags": [
      "math"
    ],
    "args": [
      {
        "name": "num",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({\n       angle: 50,\n       length: 70 * cos(toRadians(45))\n     }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "xLine",
    "summary": "Draw a line relative to the current origin to a specified distance away",
    "description": "from the current position along the 'x' axis.",
    "tags": [],
    "args": [
      {
        "name": "length",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> xLine(15, %)\n  |> angledLine({ angle: 80, length: 15 }, %)\n  |> line([8, -10], %)\n  |> xLine(10, %)\n  |> angledLine({ angle: 120, length: 30 }, %)\n  |> xLine(-15, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "xLineTo",
    "summary": "Draw a line parallel to the X axis, that ends at the given X.",
    "description": "E.g. if the previous line ended at (1, 1), then xLineTo(4) draws a line from (1, 1) to (4, 1)",
    "tags": [],
    "args": [
      {
        "name": "to",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> xLineTo(15, %)\n  |> angledLine({ angle: 80, length: 15 }, %)\n  |> line([8, -10], %)\n  |> xLineTo(40, %)\n  |> angledLine({ angle: 135, length: 30 }, %)\n  |> xLineTo(10, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "yLine",
    "summary": "Draw a line relative to the current origin to a specified distance away",
    "description": "from the current position along the 'y' axis.",
    "tags": [],
    "args": [
      {
        "name": "length",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn('XZ')\n  |> startProfileAt([0, 0], %)\n  |> yLine(15, %)\n  |> angledLine({ angle: 30, length: 15 }, %)\n  |> line([8, -10], %)\n  |> yLine(-5, %)\n  |> close(%)\n\nconst example = extrude(10, exampleSketch)"
    ]
  },
  {
    "name": "yLineTo",
    "summary": "Draw a line parallel to the Y axis, that ends at the given Y.",
    "description": "E.g. if the previous line ended at (1, 1), then yLineTo(4) draws a line from (1, 1) to (1, 4)",
    "tags": [],
    "args": [
      {
        "name": "to",
        "type": "number",
        "schema": {
          "type": "number",
          "format": "double"
        },
        "required": true
      },
      {
        "name": "sketch_group",
        "type": "SketchGroup",
        "schema": {
          "description": "A sketch group is a collection of paths.",
          "type": "object",
          "required": [
            "__meta",
            "id",
            "on",
            "start",
            "value"
          ],
          "properties": {
            "__meta": {
              "description": "Metadata.",
              "type": "array",
              "items": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "sourceRange"
                ],
                "properties": {
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              }
            },
            "id": {
              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
              "type": "string",
              "format": "uuid"
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "oneOf": [
                {
                  "description": "A plane.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "value": {
                      "description": "Type for a plane.",
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "XY",
                            "XZ",
                            "YZ"
                          ]
                        },
                        {
                          "description": "A custom plane.",
                          "type": "string",
                          "enum": [
                            "Custom"
                          ]
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the plane’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "__meta",
                    "extrudeGroup",
                    "id",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis",
                    "zAxis"
                  ],
                  "properties": {
                    "__meta": {
                      "type": "array",
                      "items": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "sourceRange"
                        ],
                        "properties": {
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      }
                    },
                    "extrudeGroup": {
                      "description": "The extrude group the face is on.",
                      "type": "object",
                      "required": [
                        "__meta",
                        "height",
                        "id",
                        "sketchGroup",
                        "value"
                      ],
                      "properties": {
                        "__meta": {
                          "description": "Metadata.",
                          "type": "array",
                          "items": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "sourceRange"
                            ],
                            "properties": {
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          }
                        },
                        "edgeCuts": {
                          "description": "Chamfers or fillets on this extrude group.",
                          "type": "array",
                          "items": {
                            "description": "A fillet or a chamfer.",
                            "oneOf": [
                              {
                                "description": "A fillet.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "radius",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this fillet.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "radius": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "A chamfer.",
                                "type": "object",
                                "required": [
                                  "edgeId",
                                  "id",
                                  "length",
                                  "type"
                                ],
                                "properties": {
                                  "edgeId": {
                                    "description": "The engine id of the edge to chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the engine command that called this chamfer.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "length": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "tag": {
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "endCapId": {
                          "description": "The id of the extrusion end cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "height": {
                          "description": "The height of the extrude group.",
                          "type": "number",
                          "format": "double"
                        },
                        "id": {
                          "description": "The id of the extrude group.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sketchGroup": {
                          "description": "The sketch group.",
                          "type": "object",
                          "required": [
                            "__meta",
                            "id",
                            "on",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "__meta": {
                              "description": "Metadata.",
                              "type": "array",
                              "items": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "sourceRange"
                                ],
                                "properties": {
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              }
                            },
                            "id": {
                              "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "on": {
                              "description": "What the sketch is on (can be a plane or a face).",
                              "$ref": "#/components/schemas/SketchSurface"
                            },
                            "start": {
                              "description": "The starting path.",
                              "type": "object",
                              "required": [
                                "__geoMeta",
                                "from",
                                "to"
                              ],
                              "properties": {
                                "__geoMeta": {
                                  "description": "Metadata.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sourceRange"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the geometry.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "sourceRange": {
                                      "description": "The source range.",
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    }
                                  }
                                },
                                "from": {
                                  "description": "The from point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag of the path.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "to": {
                                  "description": "The to point.",
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "format": "double"
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            },
                            "tags": {
                              "description": "Tag identifiers that have been declared in this sketch group.",
                              "type": "object",
                              "additionalProperties": {
                                "type": "object",
                                "required": [
                                  "__meta",
                                  "value"
                                ],
                                "properties": {
                                  "__meta": {
                                    "type": "array",
                                    "items": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    }
                                  },
                                  "info": {
                                    "description": "Engine information for a tag.",
                                    "type": "object",
                                    "required": [
                                      "id",
                                      "sketchGroup"
                                    ],
                                    "properties": {
                                      "id": {
                                        "description": "The id of the tagged object.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "path": {
                                        "description": "The path the tag is on.",
                                        "type": "object",
                                        "required": [
                                          "__geoMeta",
                                          "from",
                                          "to"
                                        ],
                                        "properties": {
                                          "__geoMeta": {
                                            "description": "Metadata.",
                                            "type": "object",
                                            "required": [
                                              "id",
                                              "sourceRange"
                                            ],
                                            "properties": {
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              }
                                            }
                                          },
                                          "from": {
                                            "description": "The from point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          },
                                          "tag": {
                                            "description": "The tag of the path.",
                                            "type": "object",
                                            "required": [
                                              "end",
                                              "start",
                                              "value"
                                            ],
                                            "properties": {
                                              "digest": {
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint8",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 32,
                                                "minItems": 32,
                                                "nullable": true
                                              },
                                              "end": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "start": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "nullable": true
                                          },
                                          "to": {
                                            "description": "The to point.",
                                            "type": "array",
                                            "items": {
                                              "type": "number",
                                              "format": "double"
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "sketchGroup": {
                                        "description": "The sketch group the tag is on.",
                                        "type": "string",
                                        "format": "uuid"
                                      },
                                      "surface": {
                                        "description": "The surface information for the tag.",
                                        "oneOf": [
                                          {
                                            "description": "An extrude plane.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudePlane"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "An extruded arc.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The face id for the extrude plane.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "extrudeArc"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the chamfer surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "chamfer"
                                                ]
                                              }
                                            }
                                          },
                                          {
                                            "description": "Geometry metadata.",
                                            "type": "object",
                                            "required": [
                                              "faceId",
                                              "id",
                                              "sourceRange",
                                              "type"
                                            ],
                                            "properties": {
                                              "faceId": {
                                                "description": "The id for the fillet surface.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "id": {
                                                "description": "The id of the geometry.",
                                                "type": "string",
                                                "format": "uuid"
                                              },
                                              "sourceRange": {
                                                "description": "The source range.",
                                                "type": "array",
                                                "items": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "maxItems": 2,
                                                "minItems": 2
                                              },
                                              "tag": {
                                                "description": "The tag.",
                                                "type": "object",
                                                "required": [
                                                  "end",
                                                  "start",
                                                  "value"
                                                ],
                                                "properties": {
                                                  "digest": {
                                                    "type": "array",
                                                    "items": {
                                                      "type": "integer",
                                                      "format": "uint8",
                                                      "minimum": 0.0
                                                    },
                                                    "maxItems": 32,
                                                    "minItems": 32,
                                                    "nullable": true
                                                  },
                                                  "end": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "start": {
                                                    "type": "integer",
                                                    "format": "uint",
                                                    "minimum": 0.0
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "nullable": true
                                              },
                                              "type": {
                                                "type": "string",
                                                "enum": [
                                                  "fillet"
                                                ]
                                              }
                                            }
                                          }
                                        ],
                                        "nullable": true
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "value": {
                              "description": "The paths in the sketch group.",
                              "type": "array",
                              "items": {
                                "description": "A path.",
                                "oneOf": [
                                  {
                                    "description": "A path that goes to a point.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "ToPoint"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment that goes to a point",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArcTo"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A arc that is tangential to the last path segment",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "ccw",
                                      "center",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "ccw": {
                                        "description": "arc's direction",
                                        "type": "boolean"
                                      },
                                      "center": {
                                        "description": "the arc's center",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "TangentialArc"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "description": "A path that is horizontal.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type",
                                      "x"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Horizontal"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double"
                                      }
                                    }
                                  },
                                  {
                                    "description": "An angled line to.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "AngledLineTo"
                                        ]
                                      },
                                      "x": {
                                        "description": "The x coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      },
                                      "y": {
                                        "description": "The y coordinate.",
                                        "type": "number",
                                        "format": "double",
                                        "nullable": true
                                      }
                                    }
                                  },
                                  {
                                    "description": "A base path.",
                                    "type": "object",
                                    "required": [
                                      "__geoMeta",
                                      "from",
                                      "to",
                                      "type"
                                    ],
                                    "properties": {
                                      "__geoMeta": {
                                        "description": "Metadata.",
                                        "type": "object",
                                        "required": [
                                          "id",
                                          "sourceRange"
                                        ],
                                        "properties": {
                                          "id": {
                                            "description": "The id of the geometry.",
                                            "type": "string",
                                            "format": "uuid"
                                          },
                                          "sourceRange": {
                                            "description": "The source range.",
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 2,
                                            "minItems": 2
                                          }
                                        }
                                      },
                                      "from": {
                                        "description": "The from point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "tag": {
                                        "description": "The tag of the path.",
                                        "type": "object",
                                        "required": [
                                          "end",
                                          "start",
                                          "value"
                                        ],
                                        "properties": {
                                          "digest": {
                                            "type": "array",
                                            "items": {
                                              "type": "integer",
                                              "format": "uint8",
                                              "minimum": 0.0
                                            },
                                            "maxItems": 32,
                                            "minItems": 32,
                                            "nullable": true
                                          },
                                          "end": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "start": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "nullable": true
                                      },
                                      "to": {
                                        "description": "The to point.",
                                        "type": "array",
                                        "items": {
                                          "type": "number",
                                          "format": "double"
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "Base"
                                        ]
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        },
                        "startCapId": {
                          "description": "The id of the extrusion start cap",
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "value": {
                          "description": "The extrude surfaces.",
                          "type": "array",
                          "items": {
                            "description": "An extrude surface.",
                            "oneOf": [
                              {
                                "description": "An extrude plane.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudePlane"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "An extruded arc.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The face id for the extrude plane.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "extrudeArc"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the chamfer surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "chamfer"
                                    ]
                                  }
                                }
                              },
                              {
                                "description": "Geometry metadata.",
                                "type": "object",
                                "required": [
                                  "faceId",
                                  "id",
                                  "sourceRange",
                                  "type"
                                ],
                                "properties": {
                                  "faceId": {
                                    "description": "The id for the fillet surface.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  },
                                  "tag": {
                                    "description": "The tag.",
                                    "type": "object",
                                    "required": [
                                      "end",
                                      "start",
                                      "value"
                                    ],
                                    "properties": {
                                      "digest": {
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint8",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 32,
                                        "minItems": 32,
                                        "nullable": true
                                      },
                                      "end": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "start": {
                                        "type": "integer",
                                        "format": "uint",
                                        "minimum": 0.0
                                      },
                                      "value": {
                                        "type": "string"
                                      }
                                    },
                                    "nullable": true
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "fillet"
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face’s X axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "yAxis": {
                      "description": "What should the face’s Y axis be?",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    },
                    "zAxis": {
                      "description": "The z-axis (normal).",
                      "type": "object",
                      "required": [
                        "x",
                        "y",
                        "z"
                      ],
                      "properties": {
                        "x": {
                          "type": "number",
                          "format": "double"
                        },
                        "y": {
                          "type": "number",
                          "format": "double"
                        },
                        "z": {
                          "type": "number",
                          "format": "double"
                        }
                      }
                    }
                  }
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to"
              ],
              "properties": {
                "__geoMeta": {
                  "description": "Metadata.",
                  "type": "object",
                  "required": [
                    "id",
                    "sourceRange"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint",
                        "minimum": 0.0
                      },
                      "maxItems": 2,
                      "minItems": 2
                    }
                  }
                },
                "from": {
                  "description": "The from point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                },
                "tag": {
                  "description": "The tag of the path.",
                  "type": "object",
                  "required": [
                    "end",
                    "start",
                    "value"
                  ],
                  "properties": {
                    "digest": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0.0
                      },
                      "maxItems": 32,
                      "minItems": 32,
                      "nullable": true
                    },
                    "end": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "start": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "nullable": true
                },
                "to": {
                  "description": "The to point.",
                  "type": "array",
                  "items": {
                    "type": "number",
                    "format": "double"
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch group.",
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "required": [
                  "__meta",
                  "value"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "info": {
                    "description": "Engine information for a tag.",
                    "type": "object",
                    "required": [
                      "id",
                      "sketchGroup"
                    ],
                    "properties": {
                      "id": {
                        "description": "The id of the tagged object.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "description": "The path the tag is on.",
                        "type": "object",
                        "required": [
                          "__geoMeta",
                          "from",
                          "to"
                        ],
                        "properties": {
                          "__geoMeta": {
                            "description": "Metadata.",
                            "type": "object",
                            "required": [
                              "id",
                              "sourceRange"
                            ],
                            "properties": {
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "from": {
                            "description": "The from point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "tag": {
                            "description": "The tag of the path.",
                            "type": "object",
                            "required": [
                              "end",
                              "start",
                              "value"
                            ],
                            "properties": {
                              "digest": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint8",
                                  "minimum": 0.0
                                },
                                "maxItems": 32,
                                "minItems": 32,
                                "nullable": true
                              },
                              "end": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "start": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "nullable": true
                          },
                          "to": {
                            "description": "The to point.",
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        },
                        "nullable": true
                      },
                      "sketchGroup": {
                        "description": "The sketch group the tag is on.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "surface": {
                        "description": "The surface information for the tag.",
                        "oneOf": [
                          {
                            "description": "An extrude plane.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudePlane"
                                ]
                              }
                            }
                          },
                          {
                            "description": "An extruded arc.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The face id for the extrude plane.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "extrudeArc"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the chamfer surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "chamfer"
                                ]
                              }
                            }
                          },
                          {
                            "description": "Geometry metadata.",
                            "type": "object",
                            "required": [
                              "faceId",
                              "id",
                              "sourceRange",
                              "type"
                            ],
                            "properties": {
                              "faceId": {
                                "description": "The id for the fillet surface.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "id": {
                                "description": "The id of the geometry.",
                                "type": "string",
                                "format": "uuid"
                              },
                              "sourceRange": {
                                "description": "The source range.",
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fillet"
                                ]
                              }
                            }
                          }
                        ],
                        "nullable": true
                      }
                    },
                    "nullable": true
                  },
                  "value": {
                    "type": "string"
                  }
                }
              }
            },
            "value": {
              "description": "The paths in the sketch group.",
              "type": "array",
              "items": {
                "description": "A path.",
                "oneOf": [
                  {
                    "description": "A path that goes to a point.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "ToPoint"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment that goes to a point",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArcTo"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A arc that is tangential to the last path segment",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "ccw",
                      "center",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "ccw": {
                        "description": "arc's direction",
                        "type": "boolean"
                      },
                      "center": {
                        "description": "the arc's center",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "TangentialArc"
                        ]
                      }
                    }
                  },
                  {
                    "description": "A path that is horizontal.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type",
                      "x"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Horizontal"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  {
                    "description": "An angled line to.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "AngledLineTo"
                        ]
                      },
                      "x": {
                        "description": "The x coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      },
                      "y": {
                        "description": "The y coordinate.",
                        "type": "number",
                        "format": "double",
                        "nullable": true
                      }
                    }
                  },
                  {
                    "description": "A base path.",
                    "type": "object",
                    "required": [
                      "__geoMeta",
                      "from",
                      "to",
                      "type"
                    ],
                    "properties": {
                      "__geoMeta": {
                        "description": "Metadata.",
                        "type": "object",
                        "required": [
                          "id",
                          "sourceRange"
                        ],
                        "properties": {
                          "id": {
                            "description": "The id of the geometry.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "sourceRange": {
                            "description": "The source range.",
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "maxItems": 2,
                            "minItems": 2
                          }
                        }
                      },
                      "from": {
                        "description": "The from point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "tag": {
                        "description": "The tag of the path.",
                        "type": "object",
                        "required": [
                          "end",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "digest": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "format": "uint8",
                              "minimum": 0.0
                            },
                            "maxItems": 32,
                            "minItems": 32,
                            "nullable": true
                          },
                          "end": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "start": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "nullable": true
                      },
                      "to": {
                        "description": "The to point.",
                        "type": "array",
                        "items": {
                          "type": "number",
                          "format": "double"
                        },
                        "maxItems": 2,
                        "minItems": 2
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Base"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "required": true
      },
      {
        "name": "tag",
        "type": "TagDeclarator",
        "schema": {
          "type": "object",
          "required": [
            "end",
            "start",
            "value"
          ],
          "properties": {
            "digest": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint8",
                "minimum": 0.0
              },
              "maxItems": 32,
              "minItems": 32,
              "nullable": true
            },
            "end": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "start": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "value": {
              "type": "string"
            }
          },
          "nullable": true
        },
        "required": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchGroup",
      "schema": {
        "description": "A sketch group is a collection of paths.",
        "type": "object",
        "required": [
          "__meta",
          "id",
          "on",
          "start",
          "value"
        ],
        "properties": {
          "__meta": {
            "description": "Metadata.",
            "type": "array",
            "items": {
              "description": "Metadata.",
              "type": "object",
              "required": [
                "sourceRange"
              ],
              "properties": {
                "sourceRange": {
                  "description": "The source range.",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "maxItems": 2,
                  "minItems": 2
                }
              }
            }
          },
          "id": {
            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
            "type": "string",
            "format": "uuid"
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "oneOf": [
              {
                "description": "A plane.",
                "type": "object",
                "required": [
                  "__meta",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "value": {
                    "description": "Type for a plane.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "XY",
                          "XZ",
                          "YZ"
                        ]
                      },
                      {
                        "description": "A custom plane.",
                        "type": "string",
                        "enum": [
                          "Custom"
                        ]
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the plane’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "__meta",
                  "extrudeGroup",
                  "id",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis",
                  "zAxis"
                ],
                "properties": {
                  "__meta": {
                    "type": "array",
                    "items": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "sourceRange"
                      ],
                      "properties": {
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    }
                  },
                  "extrudeGroup": {
                    "description": "The extrude group the face is on.",
                    "type": "object",
                    "required": [
                      "__meta",
                      "height",
                      "id",
                      "sketchGroup",
                      "value"
                    ],
                    "properties": {
                      "__meta": {
                        "description": "Metadata.",
                        "type": "array",
                        "items": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "sourceRange"
                          ],
                          "properties": {
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        }
                      },
                      "edgeCuts": {
                        "description": "Chamfers or fillets on this extrude group.",
                        "type": "array",
                        "items": {
                          "description": "A fillet or a chamfer.",
                          "oneOf": [
                            {
                              "description": "A fillet.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "radius",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this fillet.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "radius": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "A chamfer.",
                              "type": "object",
                              "required": [
                                "edgeId",
                                "id",
                                "length",
                                "type"
                              ],
                              "properties": {
                                "edgeId": {
                                  "description": "The engine id of the edge to chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the engine command that called this chamfer.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "length": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "tag": {
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      "endCapId": {
                        "description": "The id of the extrusion end cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "height": {
                        "description": "The height of the extrude group.",
                        "type": "number",
                        "format": "double"
                      },
                      "id": {
                        "description": "The id of the extrude group.",
                        "type": "string",
                        "format": "uuid"
                      },
                      "sketchGroup": {
                        "description": "The sketch group.",
                        "type": "object",
                        "required": [
                          "__meta",
                          "id",
                          "on",
                          "start",
                          "value"
                        ],
                        "properties": {
                          "__meta": {
                            "description": "Metadata.",
                            "type": "array",
                            "items": {
                              "description": "Metadata.",
                              "type": "object",
                              "required": [
                                "sourceRange"
                              ],
                              "properties": {
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                }
                              }
                            }
                          },
                          "id": {
                            "description": "The id of the sketch group (this will change when the engine's reference to it changes.",
                            "type": "string",
                            "format": "uuid"
                          },
                          "on": {
                            "description": "What the sketch is on (can be a plane or a face).",
                            "$ref": "#/components/schemas/SketchSurface"
                          },
                          "start": {
                            "description": "The starting path.",
                            "type": "object",
                            "required": [
                              "__geoMeta",
                              "from",
                              "to"
                            ],
                            "properties": {
                              "__geoMeta": {
                                "description": "Metadata.",
                                "type": "object",
                                "required": [
                                  "id",
                                  "sourceRange"
                                ],
                                "properties": {
                                  "id": {
                                    "description": "The id of the geometry.",
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "sourceRange": {
                                    "description": "The source range.",
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 2,
                                    "minItems": 2
                                  }
                                }
                              },
                              "from": {
                                "description": "The from point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              },
                              "tag": {
                                "description": "The tag of the path.",
                                "type": "object",
                                "required": [
                                  "end",
                                  "start",
                                  "value"
                                ],
                                "properties": {
                                  "digest": {
                                    "type": "array",
                                    "items": {
                                      "type": "integer",
                                      "format": "uint8",
                                      "minimum": 0.0
                                    },
                                    "maxItems": 32,
                                    "minItems": 32,
                                    "nullable": true
                                  },
                                  "end": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "start": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "nullable": true
                              },
                              "to": {
                                "description": "The to point.",
                                "type": "array",
                                "items": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "maxItems": 2,
                                "minItems": 2
                              }
                            }
                          },
                          "tags": {
                            "description": "Tag identifiers that have been declared in this sketch group.",
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "required": [
                                "__meta",
                                "value"
                              ],
                              "properties": {
                                "__meta": {
                                  "type": "array",
                                  "items": {
                                    "description": "Metadata.",
                                    "type": "object",
                                    "required": [
                                      "sourceRange"
                                    ],
                                    "properties": {
                                      "sourceRange": {
                                        "description": "The source range.",
                                        "type": "array",
                                        "items": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "maxItems": 2,
                                        "minItems": 2
                                      }
                                    }
                                  }
                                },
                                "info": {
                                  "description": "Engine information for a tag.",
                                  "type": "object",
                                  "required": [
                                    "id",
                                    "sketchGroup"
                                  ],
                                  "properties": {
                                    "id": {
                                      "description": "The id of the tagged object.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "path": {
                                      "description": "The path the tag is on.",
                                      "type": "object",
                                      "required": [
                                        "__geoMeta",
                                        "from",
                                        "to"
                                      ],
                                      "properties": {
                                        "__geoMeta": {
                                          "description": "Metadata.",
                                          "type": "object",
                                          "required": [
                                            "id",
                                            "sourceRange"
                                          ],
                                          "properties": {
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            }
                                          }
                                        },
                                        "from": {
                                          "description": "The from point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        },
                                        "tag": {
                                          "description": "The tag of the path.",
                                          "type": "object",
                                          "required": [
                                            "end",
                                            "start",
                                            "value"
                                          ],
                                          "properties": {
                                            "digest": {
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint8",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 32,
                                              "minItems": 32,
                                              "nullable": true
                                            },
                                            "end": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "start": {
                                              "type": "integer",
                                              "format": "uint",
                                              "minimum": 0.0
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "nullable": true
                                        },
                                        "to": {
                                          "description": "The to point.",
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "format": "double"
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "sketchGroup": {
                                      "description": "The sketch group the tag is on.",
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "surface": {
                                      "description": "The surface information for the tag.",
                                      "oneOf": [
                                        {
                                          "description": "An extrude plane.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudePlane"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "An extruded arc.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The face id for the extrude plane.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "extrudeArc"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the chamfer surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "chamfer"
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "description": "Geometry metadata.",
                                          "type": "object",
                                          "required": [
                                            "faceId",
                                            "id",
                                            "sourceRange",
                                            "type"
                                          ],
                                          "properties": {
                                            "faceId": {
                                              "description": "The id for the fillet surface.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "id": {
                                              "description": "The id of the geometry.",
                                              "type": "string",
                                              "format": "uuid"
                                            },
                                            "sourceRange": {
                                              "description": "The source range.",
                                              "type": "array",
                                              "items": {
                                                "type": "integer",
                                                "format": "uint",
                                                "minimum": 0.0
                                              },
                                              "maxItems": 2,
                                              "minItems": 2
                                            },
                                            "tag": {
                                              "description": "The tag.",
                                              "type": "object",
                                              "required": [
                                                "end",
                                                "start",
                                                "value"
                                              ],
                                              "properties": {
                                                "digest": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "integer",
                                                    "format": "uint8",
                                                    "minimum": 0.0
                                                  },
                                                  "maxItems": 32,
                                                  "minItems": 32,
                                                  "nullable": true
                                                },
                                                "end": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "start": {
                                                  "type": "integer",
                                                  "format": "uint",
                                                  "minimum": 0.0
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "nullable": true
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "fillet"
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "nullable": true
                                    }
                                  },
                                  "nullable": true
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "value": {
                            "description": "The paths in the sketch group.",
                            "type": "array",
                            "items": {
                              "description": "A path.",
                              "oneOf": [
                                {
                                  "description": "A path that goes to a point.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "ToPoint"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment that goes to a point",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArcTo"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A arc that is tangential to the last path segment",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "ccw",
                                    "center",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "ccw": {
                                      "description": "arc's direction",
                                      "type": "boolean"
                                    },
                                    "center": {
                                      "description": "the arc's center",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "TangentialArc"
                                      ]
                                    }
                                  }
                                },
                                {
                                  "description": "A path that is horizontal.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type",
                                    "x"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Horizontal"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double"
                                    }
                                  }
                                },
                                {
                                  "description": "An angled line to.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "AngledLineTo"
                                      ]
                                    },
                                    "x": {
                                      "description": "The x coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    },
                                    "y": {
                                      "description": "The y coordinate.",
                                      "type": "number",
                                      "format": "double",
                                      "nullable": true
                                    }
                                  }
                                },
                                {
                                  "description": "A base path.",
                                  "type": "object",
                                  "required": [
                                    "__geoMeta",
                                    "from",
                                    "to",
                                    "type"
                                  ],
                                  "properties": {
                                    "__geoMeta": {
                                      "description": "Metadata.",
                                      "type": "object",
                                      "required": [
                                        "id",
                                        "sourceRange"
                                      ],
                                      "properties": {
                                        "id": {
                                          "description": "The id of the geometry.",
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "sourceRange": {
                                          "description": "The source range.",
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 2,
                                          "minItems": 2
                                        }
                                      }
                                    },
                                    "from": {
                                      "description": "The from point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "tag": {
                                      "description": "The tag of the path.",
                                      "type": "object",
                                      "required": [
                                        "end",
                                        "start",
                                        "value"
                                      ],
                                      "properties": {
                                        "digest": {
                                          "type": "array",
                                          "items": {
                                            "type": "integer",
                                            "format": "uint8",
                                            "minimum": 0.0
                                          },
                                          "maxItems": 32,
                                          "minItems": 32,
                                          "nullable": true
                                        },
                                        "end": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "start": {
                                          "type": "integer",
                                          "format": "uint",
                                          "minimum": 0.0
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "nullable": true
                                    },
                                    "to": {
                                      "description": "The to point.",
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "format": "double"
                                      },
                                      "maxItems": 2,
                                      "minItems": 2
                                    },
                                    "type": {
                                      "type": "string",
                                      "enum": [
                                        "Base"
                                      ]
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "startCapId": {
                        "description": "The id of the extrusion start cap",
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "value": {
                        "description": "The extrude surfaces.",
                        "type": "array",
                        "items": {
                          "description": "An extrude surface.",
                          "oneOf": [
                            {
                              "description": "An extrude plane.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudePlane"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "An extruded arc.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The face id for the extrude plane.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "extrudeArc"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the chamfer surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "chamfer"
                                  ]
                                }
                              }
                            },
                            {
                              "description": "Geometry metadata.",
                              "type": "object",
                              "required": [
                                "faceId",
                                "id",
                                "sourceRange",
                                "type"
                              ],
                              "properties": {
                                "faceId": {
                                  "description": "The id for the fillet surface.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "id": {
                                  "description": "The id of the geometry.",
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sourceRange": {
                                  "description": "The source range.",
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 2,
                                  "minItems": 2
                                },
                                "tag": {
                                  "description": "The tag.",
                                  "type": "object",
                                  "required": [
                                    "end",
                                    "start",
                                    "value"
                                  ],
                                  "properties": {
                                    "digest": {
                                      "type": "array",
                                      "items": {
                                        "type": "integer",
                                        "format": "uint8",
                                        "minimum": 0.0
                                      },
                                      "maxItems": 32,
                                      "minItems": 32,
                                      "nullable": true
                                    },
                                    "end": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "start": {
                                      "type": "integer",
                                      "format": "uint",
                                      "minimum": 0.0
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "nullable": true
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fillet"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face’s X axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "yAxis": {
                    "description": "What should the face’s Y axis be?",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  },
                  "zAxis": {
                    "description": "The z-axis (normal).",
                    "type": "object",
                    "required": [
                      "x",
                      "y",
                      "z"
                    ],
                    "properties": {
                      "x": {
                        "type": "number",
                        "format": "double"
                      },
                      "y": {
                        "type": "number",
                        "format": "double"
                      },
                      "z": {
                        "type": "number",
                        "format": "double"
                      }
                    }
                  }
                }
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to"
            ],
            "properties": {
              "__geoMeta": {
                "description": "Metadata.",
                "type": "object",
                "required": [
                  "id",
                  "sourceRange"
                ],
                "properties": {
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint",
                      "minimum": 0.0
                    },
                    "maxItems": 2,
                    "minItems": 2
                  }
                }
              },
              "from": {
                "description": "The from point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              },
              "tag": {
                "description": "The tag of the path.",
                "type": "object",
                "required": [
                  "end",
                  "start",
                  "value"
                ],
                "properties": {
                  "digest": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "uint8",
                      "minimum": 0.0
                    },
                    "maxItems": 32,
                    "minItems": 32,
                    "nullable": true
                  },
                  "end": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "start": {
                    "type": "integer",
                    "format": "uint",
                    "minimum": 0.0
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "nullable": true
              },
              "to": {
                "description": "The to point.",
                "type": "array",
                "items": {
                  "type": "number",
                  "format": "double"
                },
                "maxItems": 2,
                "minItems": 2
              }
            }
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch group.",
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "required": [
                "__meta",
                "value"
              ],
              "properties": {
                "__meta": {
                  "type": "array",
                  "items": {
                    "description": "Metadata.",
                    "type": "object",
                    "required": [
                      "sourceRange"
                    ],
                    "properties": {
                      "sourceRange": {
                        "description": "The source range.",
                        "type": "array",
                        "items": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "maxItems": 2,
                        "minItems": 2
                      }
                    }
                  }
                },
                "info": {
                  "description": "Engine information for a tag.",
                  "type": "object",
                  "required": [
                    "id",
                    "sketchGroup"
                  ],
                  "properties": {
                    "id": {
                      "description": "The id of the tagged object.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "path": {
                      "description": "The path the tag is on.",
                      "type": "object",
                      "required": [
                        "__geoMeta",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "__geoMeta": {
                          "description": "Metadata.",
                          "type": "object",
                          "required": [
                            "id",
                            "sourceRange"
                          ],
                          "properties": {
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            }
                          }
                        },
                        "from": {
                          "description": "The from point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        },
                        "tag": {
                          "description": "The tag of the path.",
                          "type": "object",
                          "required": [
                            "end",
                            "start",
                            "value"
                          ],
                          "properties": {
                            "digest": {
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint8",
                                "minimum": 0.0
                              },
                              "maxItems": 32,
                              "minItems": 32,
                              "nullable": true
                            },
                            "end": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "start": {
                              "type": "integer",
                              "format": "uint",
                              "minimum": 0.0
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "nullable": true
                        },
                        "to": {
                          "description": "The to point.",
                          "type": "array",
                          "items": {
                            "type": "number",
                            "format": "double"
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      },
                      "nullable": true
                    },
                    "sketchGroup": {
                      "description": "The sketch group the tag is on.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "surface": {
                      "description": "The surface information for the tag.",
                      "oneOf": [
                        {
                          "description": "An extrude plane.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudePlane"
                              ]
                            }
                          }
                        },
                        {
                          "description": "An extruded arc.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The face id for the extrude plane.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "extrudeArc"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the chamfer surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "chamfer"
                              ]
                            }
                          }
                        },
                        {
                          "description": "Geometry metadata.",
                          "type": "object",
                          "required": [
                            "faceId",
                            "id",
                            "sourceRange",
                            "type"
                          ],
                          "properties": {
                            "faceId": {
                              "description": "The id for the fillet surface.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "id": {
                              "description": "The id of the geometry.",
                              "type": "string",
                              "format": "uuid"
                            },
                            "sourceRange": {
                              "description": "The source range.",
                              "type": "array",
                              "items": {
                                "type": "integer",
                                "format": "uint",
                                "minimum": 0.0
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "tag": {
                              "description": "The tag.",
                              "type": "object",
                              "required": [
                                "end",
                                "start",
                                "value"
                              ],
                              "properties": {
                                "digest": {
                                  "type": "array",
                                  "items": {
                                    "type": "integer",
                                    "format": "uint8",
                                    "minimum": 0.0
                                  },
                                  "maxItems": 32,
                                  "minItems": 32,
                                  "nullable": true
                                },
                                "end": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "start": {
                                  "type": "integer",
                                  "format": "uint",
                                  "minimum": 0.0
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "nullable": true
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "fillet"
                              ]
                            }
                          }
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "value": {
            "description": "The paths in the sketch group.",
            "type": "array",
            "items": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment that goes to a point",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "x"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "AngledLineTo"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "y": {
                      "description": "The y coordinate.",
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type"
                  ],
                  "properties": {
                    "__geoMeta": {
                      "description": "Metadata.",
                      "type": "object",
                      "required": [
                        "id",
                        "sourceRange"
                      ],
                      "properties": {
                        "id": {
                          "description": "The id of the geometry.",
                          "type": "string",
                          "format": "uuid"
                        },
                        "sourceRange": {
                          "description": "The source range.",
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint",
                            "minimum": 0.0
                          },
                          "maxItems": 2,
                          "minItems": 2
                        }
                      }
                    },
                    "from": {
                      "description": "The from point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "type": "object",
                      "required": [
                        "end",
                        "start",
                        "value"
                      ],
                      "properties": {
                        "digest": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "format": "uint8",
                            "minimum": 0.0
                          },
                          "maxItems": 32,
                          "minItems": 32,
                          "nullable": true
                        },
                        "end": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "start": {
                          "type": "integer",
                          "format": "uint",
                          "minimum": 0.0
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "nullable": true
                    },
                    "to": {
                      "description": "The to point.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const exampleSketch = startSketchOn(\"XZ\")\n  |> startProfileAt([0, 0], %)\n  |> angledLine({ angle: 50, length: 45 }, %)\n  |> yLineTo(0, %)\n  |> close(%)\n\nconst example = extrude(5, exampleSketch)"
    ]
  },
  {
    "name": "yd",
    "summary": "Yards conversion factor for current projects units.",
    "description": "No matter what units the current project uses, this function will always return the conversion factor to yards.\nFor example, if the current project uses inches, this function will return `36`. If the current project uses millimeters, this function will return `914.4`. If the current project uses yards, this function will return `1`.\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\nWe merely provide these functions for convenience and readability, as `10 * yd()` is more readable that your intent is \"I want 10 yards\" than `10 * 914.4`, if the project settings are in millimeters.",
    "tags": [
      "units"
    ],
    "args": [],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "type": "number",
        "format": "double"
      },
      "required": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      "const totalWidth = 10 * yd()"
    ]
  }
]